log (2005/11/25 to 2005/12/01)

World AIDS Day

Lives there a chief whom Ajax ought to dread?

(That's Homer, from that Iliad.)

I dunno about dread, but by Gum I know that all chiefs should pheer! Ph33r, that is, my l33t AJAX skillz!! Just watch this!

A reader writes:

Loading... edit

That previous reader-input paragraph there (assuming there is one) is excitingly Ajaxified and dynamic; you can click on the little "edit" frob and get a box into which you can enter a replacement for the paragraph; press enter and it'll be sent off and everyone else who loads the page will see your words (until someone else replaces them). And all without ever reloading the page!

(Well, actually you probably can't, because it requires JavaScript to be turned on and stuff, and you don't seem to have that, so you'll just have to use your imagination.)

Isn't that nifty? Isn't this The Way The Web Ought To Be? W00t w00t!

(No, I can't tell if I'm being ironic or not either; if nothing else at least it's a fun hack. If it does anything wonky for you, let me know in email, or in the little non-Ajax input box on the left there, or whatever.)

Various little rough edges exist. This page validates only because of a truly groddy hack to hide the IFRAME element from the validator (guilt, guilt!). Seems there's no IFRAME in HTML 4.01 strict; I could have declared the page transitional instead of strict, but even in transitional IFRAME elements don't have an "onload" attribute, and the way that I know to do the trick without that attribute doesn't work in IE. I could use the fancy new XMLHttpRequest verb (capitalization not my idea!) instead of a size-zero IFRAME, but that doesn't work in Opera 7, which is the browser I mostly use. And in some of the CSS styles for this page, some of the browsers render the dynamic blockquote a little wonky, for reasons that I don't have the patience to run down today.

(Update: oh yeah, and it does strip all even vaguely dangerous-looking characters from what you type, and it limits the input to some reasonable length that I've forgotten, and some other stuff like that. I'm a Security d00d after all!)

"Ajax" stands for "Asynchronous Javascript And XML" (even though it often doesn't actually involve any XML). You can find all sorts of Deep and Insightful discussion of its importance (or not) for the Web elsewhere; I'll just say that it was kind of fun to code.

A reader who is getting bored writes:

OK. The spam subject lines are getting boring. Are there any humans here?

Be careful what you wish for! Complain about the spam subject lines and you get abstruse Web geekery instead, Mu ha ha ha ha!

Lotsa humans here, though, scattered all over the place. Spam appreciation and web geekery are things that humans do, after all. *8)

Speaking of things that humans do, our Patent Application o' the Day comes from Cliff Pickover's latest weblog:

Resurrection burial tomb

A Resurrection Burial Tomb includes a means to preserve and revive Human Beings and provide power and power systems for the same, comprising of a container of preservation means, holding the suspended dead person's body and connected to electrical and energy apparatus systems contained in the Resurrection tomb and robotic machine workers that help maintain and work to revive the suspended Huamn Being; wherein the process provides power and security from death to living Human Beings being useful and novel, producing a less savage empowered child culture and machine parents.

A less savage empowered child culture and machine parents! (Note that I don't intend here to make fun of people with unusual brain wiring; I am very grateful to people like this for sharing their unique takes on the universe, and I hope they have happy and productive lives despite, or thanks to, their wiring.)

Somewhere we stumbled across a reference to a book called "Adventuring in Coral Seas", by one Albert F. Ellis, published in the mid-1930's. We developed an instant and irrational desire to own a copy of this book, and (this being the century that it is) not long afterward we had ordered a copy via Alibris from Haymes and Sons in freaking Australia (and the shipping is only US$3.50, startlingly enough).

Not that we'll necessarily ever have a chance to read it...

A rainy Tuesday afternoon, with no novel to write and not quite as bleary-headed as I was yesterday (something woke me again Sunday night before dawn and I didn't get much sleep after that, so I was really zonked on Monday; something woke me yet again in the middle of last night but I got back to sleep, and I'm a little more awake today).

All sorts of Sims stuff and Spam stuff and reader input stuff and stuff queued up, my having been busy with the Novel and all. And on such a dark grey rainy afternoon I'm probably not likely to be energetic enough to wildly clear out the backlog, but we'll see.

The Sims-related thing that was keeping me awake on Saturday night by spinning madly around in my brain was The Townie Project, which is now well underway (and with which I'm still obsessed, and no doubt will be at least until the freed townies actually get to move into the big house that I built for them and I can see if it actually works qua house).

I'll include just one picture here, because hey we haven't had a Sims picture in the weblog for quite awhile.

Mitch admires Sally's bulging belly

That's right, Sally's pregnant (by Mitch) again; which means that little Gabriel will have an aunt or uncle who's significantly younger than he is! (I think a friend of mine had that situation when I was a kid; we all though it was pretty cool.)

I think I also haven't yet pointed at Jan and Jen Danvers becoming children, or Sally falling in love with five more people, or for that matter The Value of Spiritual Practice. But now I have. *8)

I'm so out of touch! I didn't realize until today that Bluetooth viruses are actually real. See for instance Helsinki athletic games infested with Cabir Bluetooth virus. These viruses depend on people pressing "Yes" when their phone asks them "Do you want to run this software that just arrived from some total stranger?", but apparently that's No Problem. Humans are so cute.

John Vlissides, one of the Gang of Four Object-Oriented Programming Design Patterns dudes and local hero, died on Thanksgiving, and we're all sad about it here. I didn't know him as well as I'd have liked, but as much as I did know agrees with his hordes of friends and admirers: he was a smart guy, and a kind and modest and humorous one. His personal page on Wiki Wiki Web is now accumulating testimonials and remembrances from those friends and admirers; it's pretty neat.

Apropos of nothing, here from the Von Mises weblog is a paper that I need to finish reading: The Mythology of Holdout as Justification for Eminent Domain and Public Provision of Roads. If I'm going to be able to tell plausible stories about how the roads work in our ideal libertarian state, I need to know stuff like this.

(As usual it's easier in the ideal socialist collectivist state: the local board decides where the road ought to go, anyone currently living in a house that's in the way is found a different place to live, and the road gets built; no problem!)

Someone who is about to finish her novel writes:

Subject: Oh, I so hate to do this yet again....

.... but when Francine Conklin wrote to me and titled her mail, "My need so physiology wrongheaded", I couldn't help but think of you. You just have that effect on me, I guess.

Always good to know I'm having positive effects on the world! *8)

Okay, now I have to dump an enormous load of spam anti-Bayes text at you, just because I like it. It's a bunch of obviously fill-in-the-blanks sentences, interspersed with that text about teaching kids to read that I noted somewhere the other month, and some other stuff. It was all in the same piece of (rather large!) spam. Very odd, but extemely poetic (for some value of "poetic" anyway).

lets goto mcdonalds soon. we can get a hamburger or too..
Donna's daughter hasn't practiced playing yet..
That computer programmer isn't enjoying swimming behind the post office right at this time.
Hasn't Buddy ever liked swimming?.
Haven't the journalists liked surfing?.
Joe's girlfriend generally misses laughing..
I could go on and on, but I won't. We have many programs the children love. But I would give them ALL up to keep my BORING noun program. I thank THE PARENT daily for her insight..
Do those gardners regret walking carefully?.
i need to get a pedicure. my feet smell and itch.
Joseph doesn't dislike praying carelessly..
You are always missing reading..
Haven't you liked walking?.
Haven't the photographers already disliked praying?.
Did Roy love working on the top of the mountain?.
THE PARENT arrived back on the scene. She gave me a tape by Dr. Laura Meyers from UCLA. I listened to that tape eight times. I listened over and over and heard the same thing again and again. Ms. Meyers said, 'These kids may need to hear a word many times (perhaps 72 times) before they ever say a word. A computer can be patient and say it the same way every time.' Now I understood. I was not patient enough. I did not allow the student to hear the words over and over. I was interrupting their learning by interjecting, when they were totally engrossed in what they were doing. I was asking questions they were not ready to answer. They were just learning language. They didn't have the answers yet..
13. Ninety six bottles of beer, three a's, three b's, one c, two d's, thirty two e's, six f's, two g's, six h's, twelve i's, one j, one k, five l's, one m, eighteen n's, fourteen o's, one p, six r's, twenty seven s's, twenty t's, two u's, seven v's, nine w's, five x's, and five y's on the wall..
Then I started 'teaching'. You know, I'm a good teacher. (Well, maybe just an average teacher, but you get the jist). I know what good teachers do. Or I thought I did. I sat with the children at the computer. When they pressed the IntelliKeys' keyboard or the Touch Window' and the computer said the word, I repeated the word and then expanded on the word. After they had pressed the same word several times, I said, "That's right, that's a cat, can you find the dog?? Suddenly, I would see the child's back get stiff, and before you knew it, he got up and left the computer. I didn't understand. Just a few seconds ago, he loved it. What happened?.
Don't those singers dislike playing carelessly?.
Don't those teachers very often love jogging?.
I don't hate studying in London..
Is the scientist missing praying?.
I am not missing surfing..

Haven't you liked walking?

End of Day Twenty-five: 46,023
End of Day Twenty-six: 48,660
Currently: 50,048 (and done)

So it's a novel! Or a long novelette, or something like that. *8)

I made good progress over the last couple of days, following pretty much exactly that outline that I worked out in the shower on Wednesday. And then something woke me up this morning at like six ack emma, with the sky just bright enough to assure me that I needn't feel obliged to go back to sleep, and my mind spinning wildly with various plans and ideas (mostly about The Sims, but somewhat also about the novel), so I got up and got the computer at around 6:30, and I finished it! It matched up the wordcount almost exactly, although I admit I was doing just a teensy bit of padding toward the end (hence the almost exactly right on final word count).

I like this story a whole lot. At least I do at the moment, not having actually read it at all. Which means that it was definitely fun to think up and think through, but I have no idea how well I actually executed it, or if I managed to get it down on paper in a form that would be enjoyable for anyone to read. (If any of you do read it for some inexplicable reason, let me know what you think.)

So it's sort of a pity to have blown much of my good intentions about using this weekend to get a decent amount of sleep for a change, and to know that tomorrow morning I'm probably going to be as groggy as ever at work. On the other hand it's nice to have a finished novel under my belt and still have it be not even eight aye em yet and the whole day ahead for eating bagels and playing with the computer and admiring the family and all.

A helpful reader writes:

Your spam subject "Voceesuafamiliaficamlivres" is Portuguese for "You and your family stay free" or "You and your family remain free" (Você e sua família ficam livres).

One unexpected consequence for me of learning Portuguese recently has been that I've started to understand all my Portuguese spam (it seems to be the third most common language in which I get spam, after English and Korean, perhaps because of the incredibly rapidly growing number of Brazilians on the Internet -- http://en.wikipedia.org/wiki/Brazilian_Internet_Phenomenon is something I notice frequently). This has been annoying, because previously I would have instantly recognized those messages as spam and deleted them. Now that I understand them, I actually have to think about what they're saying to decide whether they're spam or not. This is reminiscent of Thomas Schelling's observation that it can be a good thing not to be able to understand other people who are trying to threaten or intimidate you; in a similar way, it can be a good thing not to be able to understand other people who are trying to advertise to you or spam you.

I hope that you and your family remain free this Thanksgiving. :-)

And immediately following this very kind note was a piece of spam with the subject


which is of course Portuguese for "my hovercraft is full of Mensa members".

It's indeed interesting to think of occasions where some lack (like being unable to understand Portuguese) is an advantage. Another one that I recall from somewhere (for some reason I associate it with the aftermath of the battle with Smaug in "The Hobbit") is that it can (I think) be an advantage to be irrational in certain adversarial situations, where (while a rational person would accept a certain compromise) if the other party knows that you aren't rational in that sense, then it is rational for them to offer you a sweeter deal than a rational person would require. Something like that, anyway. (Of course there it's really only advantageous to be thought irrational, but actually being irrational probably makes that easier.)

So anyway, we're all done! And I'll bet if I get dressed and go to the bagel store now, they won't be out of anything yet. (On the other hand M won't be awake yet, so I'll have to guess what flavor bagel she wants (the kids always want the same flavors (kids are so conservative))).