Archive for April, 2003

28 Aprili 2003

American Gods

I considered posting a review of this book to CavLec a long time ago, back when I actually read it. I decided not to, though. I dig Neil Gaiman’s stuff, and he’s a fellow Wisconsinite, so better I should keep my mouth shut when it would otherwise say… well, some not-very-nice things.

But now it’s gone and won the 2002 Hugo. So, hey, all’s fair, right?

Because I didn’t like the book very much. And the reason I didn’t like the book very much is quite simple: its female characters.

So this book is about gods, right? And we get a detailed look at the less reputable male members of the Norse pantheon (double entendre intended). No Norse goddesses that I recall, but okay, we can’t include everybody.

Say, what goddesses do we include? Well, one that swallows up men, though not through the usual orifice. And, um, Kali at the big God Shindig toward the end. Maybe Ishtar shows up somewhere. Bastet in cat form—women are animals, you know? And, um, well, that’s it, really.

What the heck is that, I ask you? No Frigga? No Athena? No Demeter? No Amaterasu? No Guan-yin (yeah, yeah, I know about the sex change there)? Just man-eaters, one way or another. Great. That’s a kick in the face.

No, but seriously, it gets worse. Who is our main female character? An undead. We are treated to lengthy, almost gloating descriptions of the decay of her body and her mind. No male character gets a similar memento mori treatment. Worse yet, she’s in the book strictly because of her relationships with male characters. Any other women in her life or her unlife? Nah.

Any other women in the book? Not to speak of. That I remember, anyway; I can be corrected on this point. I suppose that explains the dearth of goddesses; we don’t see anybody who might actually pray to a goddess.

Mr. Gaiman knows this, by the way, so points for him. I fear it doesn’t make me like the book any better. There are plenty of “male” books in the world already, and (as I hope I’ve pointed out), there’s room to make American Gods less insistently, completely male. As it is, the book is barred from my shelf, along with fellow award-winner Babel-17, which is admittedly worse.

I know perfectly well Mr. Gaiman can do better than this, because he has done better than this, several times in several media. I like to see him win awards, and I congratulate him on the Hugo, but I wish he’d won it for a better book. I was earnestly disappointed in American Gods. I wanted to like it, but it left me feeling a maggot or two in my own gut.

MTEntryPermalink

I promised to talk about why I don’t like the placeholder <MTEntryPermalink>, and what I think should replace it. Let’s be clear: this is a markup-geek objection, and if you are not a markup geek you probably won’t care.

Off we go, then…

<MTEntryPermalink> is a concatenation of <MTEntryLink>, a pound sign, and <MTEntryID>. Comes out to something like http://blog.example.com/archive/2003/04/28.htm#000512. Fine, as far as it goes. Where’s the problem?

The problem is that in any flavor of HTML, X- or otherwise, you cannot use an unadorned number as the value of an id attribute. All id attributes must begin with a letter. I talked about this during AKMA’s first markover, so I won’t repeat myself.

If you want your permalinks to point to id attributes rather than a name attributes, you cannot use <MTEntryPermalink> in your template. It’s that simple.

This is what I recommend you do. Keep in mind that if you have a long-running blog, this will break your current permalinks, so proceed with caution.

On your archive pages, you probably surround each blog entry with a div. The default MT templates use <div class="blogbody">, which is fine. Add an id attribute, thus:

<div class="blogbody" id="e<MTEntryID pad="1">">

(The pad placeholder adds a bunch of extra zeroes to the beginning, just for neatness. It isn’t strictly necessary, but if you use it on <MTEntryID> in one place, use it on all other <MTEntryID> placeholders in all your templates as well.)

Note the letter at the beginning of the id attribute value. Can be any letter you like; I use e-for-entry.

Then, whenever you would otherwise use an a element with <MTEntryPermalink>, use this instead:

<a href="<MTEntryLink>#e<MTEntryID pad="1">"> (whatever you want as the text of the link)</a>

Again, it’s a markup-geek thing. If you’re setting up a new blog, however, keep it in mind.

LJ rant up

I posted Yet Another Academia Rant over at my LiveJournal. It’s friends-only, so don’t bother unless you’re an existing LJ user with me on your Friends list.

Better this than simmering, or letting loose here and angering the whole world again. I do get tired of having my lived experience first mangled and then dismissed as a rhetorical ploy, though. I do.

27 Aprili 2003

MTEntries

At last and alack, the promised entry on the <MTEntries> placeholder. A good thing to spend an entire entry on: not only is this a crucially important placeholder, its usage ties together most of what I’ve been on about this entire series so far.

The <MTEntries> placeholder represents a list of blog entries, in the abstract. To get concrete, you need to put something inside <MTEntries>. For example, the default MovableType blog template (as of version 2.63) includes a list of the latest ten entries by title in the sidebar. The template code for this is (stolen straight from said template):

<MTEntries lastn="10">
<a href="<$MTEntryPermalink$>"> <$MTEntryTitle$></a><br />
</MTEntries>

See? I bet you can figure out what’s going on there without my saying a word.

(I’m color-coding template snippets to make it easier to tell MovableType placeholders from HTML tags. I hope it helps. Incidentally, I do not recommend that you lift this code-snippet as is. I have issues with <MTPermalink> which I will discuss in a later entry. If you’re already using it, leave it be for now. Said later entry will discuss what to replace it with and why. Plus, I hate the use of the <br /> tag here. Better ways to do this.)

Note all the placeholders starting with <MTEntry>. They’re context-dependent. You can use them inside <MTEntries> and (for your information) inside <MTSearchResults>—and nowhere else. Use them anywhere else and your template won’t work.

<MTEntries> all by itself means the entire list of blog entries for your blog. It fits inside two other placeholders, however, to represent a more restricted list of entries:

  • <MTArchiveList> is a list of all your archive types. If you put <MTEntries> inside it, you access a list of the entries for each archive type. If you use Individual, Monthly, and Category archives, for example, you could use this combination to list the last ten entries ror each of these archive types.
  • <MTCategories> is a list of all your categories. If you put <MTEntries> inside it, you access a list of entries for each category.

The other way to restrict <MTEntries> is with attributes. You can load as many attributes as you like onto a single placeholder; they all add up.

The example above already snuck one attribute in on you: lastn restricts the entry-list to the last however-many entries you specify. Here are the important (in my no-doubt-biased view) other ones:

  • category restricts the list to a specific category. The difference between this and putting <MTEntries> inside <MTCategories> is that this limits the list to the single category you specify, whereas <MTCategories> cycles through every category you have.
  • days limits the list to entries from the last however-many days you specify.
  • sort-order specifies whether to list the first or last entries first. The value ascend starts at the beginning; descend starts at the end. For a newest-posts-first ordering, you want descend.

You may also want to be aware of the following global attributes, which seem to me particularly useful on <MTEntries>:

  • filters lets you filter your entries through various Perl text filters. Nifty, if you happen to have those filters available (ask your webhost).
  • upper_case and lower_case do what they say they do. I prefer to do this with CSS (View Source and look at my entry titles to see what I mean), but unfortunately not all browsers do it properly, so this is a reasonable alternative.

There. Now you know your way around the most important part of your blog template—the entries.

Fur and blogging

It isn’t easy to blog when a Goth-kitty claims your lap, forcing you to scoot your chair back from your desk far enough so that you have a lap.

But, gee, it’s still kinda nice.

Maybe Didi will become the first CatBlogger, starting a meme similar to the BabyBlogger one. She currently has her front paws on the lip of my Kinesis keyboard—well, had, as she just jumped off to investigate my husband’s re-entry into the house.

Maybe cats and blogging just don’t mix.

FOAF quick info

AKMA asked (and he’s apparently fallen victim to some Cornerhost troubles, so no link just yet, sorry) how to include a Friend-of-a-Friend file to his web page.

Simple answer: You don’t. You link to it, just as you do to a stylesheet.

If you have drunk the CSS Kool-Aid, you likely have a link element in your page head that looks something like this:

<link rel="stylesheet" type="text/css" href="CSS.css" />

The FOAF-a-matic page (what are you doing still here? go, click on link!) suggests a similar syntax to point to your FOAF file:

<link rel="meta" type="application/rdf+xml" href="myfoaf.rdf" />

FTP your FOAF file to the spot you just linked to, and voilà tout.

I know Mark does this, and I imagine other bloggers do too. On a fairly intense search, I couldn’t find any competing methods, so here you go.

“Why can’t I just stick the information into my page directly?” you may be asking. Well, because the numbskulls who came up with the “XML namespace” concept utterly failed to consider that namespaces need rules for how to behave nicely when integrated into a single XML document. Such rules still don’t exist. QED.

Another reason may be that you don’t use XHTML or any other type of XML on your web page, incidentally. FOAF is built with RDF, which is built with XML. If you’re sticking with the older, SGML-based versions of HTML (such as HTML 4.01), XML processors can’t cope with your page long enough to find the FOAF information. Ergo, you need to pop it into a separate file.

Hope this helps.

24 Aprili 2003

Can’t think; must blog

The lack of sleep thing just up and bashed me a good one over the head. Is there such a thing as sleeptyping?

Sorry no blogging today. Work was all training for callbacks I’m probably not going to do, as I’m only a backup caller in case my two native-Spanish-speaking coworkers both get hit by trucks or something. Highly unlikely. But the training gave my much-abused hands a day off, no bad thing at all.

Not to mention that my work computer has hopelessly fried itself, after manifesting symptoms for some time. I think the hard drive is dying. Fortunately I won’t lose much if they have to wipe or replace it.

I know I’ve been slack about the Movable Type series, and I just put myself on the hook for a Friend-of-a-Friend tutorial. Will do. Later. When I can keep both eyes open at once.

On the up side, an email from Jonathon indicated that the Burningbird campaign is going well. Could always be improved upon—especially given Bb’s tastes in server hardware—so ante up, folks.

23 Aprili 2003

Rufus

Very birdy morning this morning. Yesterday morning as I stood at the bus stop I could distinctly hear three different cardinals saluting the day. Today they were out in force again.

This is a terrific time for birdwatching; the trees haven’t leafed out completely yet, so it’s easy to see the little nippers. During this morning’s bus wait, I thumped my husband’s arm, pointed up at one such tree, and said eagerly, “Look! Woodpecker.”

Which is, I think, a fringe benefit to riding the bus.

Anyway, a rabbit has taken up residence in our back yard somewhere, likely enough under the deck. He’s come out at sunset the last three or four days to browse through our disgracefully badly-mowed grass for interesting edibles. (He can have all the dandelions he can munch!)

We’re calling him Rufus, rather unimaginatively, owing to the distinctive rufous patch on the back of his neck. He’s got white fur under his eyes, too, giving his face a rather pouchy appearance. A middle-aged burgher, Rufus, in his brown and gray-stippled coat, not one of those pesky young Goliards.

He knows when we watch him from the kitchen window, but it doesn’t seem to bother him. Nor does he pay any mind to the Goth-kitties’ lashing tails, the other side of the sliding door.

In fact, I looked out the kitchen window this morning, and saw that Rufus had brought the missus along for breakfast. Perhaps this summer we’ll have a family of young Rufuses to watch. They just better stay out of my basil, though.

Burn, Birdie, burn!

Hey, guys. Time to take care of one of our own.

Burningbird is up against it; we all knew it was coming, little though we could do about it. Let’s do what we can to make sure we can keep up with her.

Jonathon Delacour has done the needful red-tape stuff. Drop a few pennies, please. I have. Update: The campaign has closed, so the link tied to the image below no longer works.

Contribute via PayPal to keep Burningbird online!

(And, no, JD, I wouldn’t think of impugning your sincerity on this one. Not least because you know perfectly well that if you dinked with Bb you’d have some very angry bloggers making your life a living purgatory. Still planning that trip to the States, boyo? Better keep your nose clean.)

(Er, everyone did catch the smiley suffusing that last parenthesis, right?)

There’s a post to be written about pride and the protocol of accepting help, but I think Jonathon or Jeff Ward or Loren ought to write it. All I can say is that I’ve wanted to help Bb for a long time, but not known any way to do it that she would accept. She wouldn’t even let me pay her royalties for the photo of hers that is the departure-point for this design.

So thanks to Jonathon for giving me a chance. I didn’t offer as much as I wanted to, because I’m honestly afraid that if the pot gets too rich owing to any one person, Bb will turn it down. She’s that way. (I may change my mind later. We’ll see how it goes, and what happens to the overflow I confidently expect.)

Let’s keep that from happening, hm? Everybody who can, please give a little. Thank you.

22 Aprili 2003

Sold out

Okay, folks, in preparation for the Great Share Reset on May 1, I have sold my entire BlogShares stake in my own blog. You want to take me over, now’s the time. (Though you’ll have to be a major shareholder already to do it; there aren’t enough shares left on the open market to land 2500 at the moment.)

Sell now, before the bottom drops out!