Wednesday, March 31, 2004

Can't even procrastinate in peace.

I got into accident a while back and I haven't gotten around to dropping the car off for bodywork (fix the dents, get a new bumper, etc.). I've been putting off giving up use of the thing for a while now. For now I'm telling myself I'll ignore it until right after I come back from a next week's Passover vacation. But these guys — and it's always guys — keep pulling up in their cars and stopping. "Hey, I can fix that for you. I do body work." I didn't mind it so much the first few times.

Monday I promised I'd help someone at 3:30, so at 3 I went to buy a late, quick lunch, made matters worse by leaving my cell phone behind on the sub shop counter, and when I went back to get it there's a guy who pulls into the empty parking spot next to where I'm walking to talk to me about my car. So I tell him I didn't have time right then, and he keeps going on about how he'll do it for cheap. I just keep walking and do my thing, but it gets on my nerves.

Tuesday I'm running late once again to meet with someone early (at least I made backup plan for when I was the inevitable 25 minutes late), and I'm driving down the narrow little street where I live, stuck behind someone driving slower than what everyone usually does. Then the driver stops and puts his hazards on, and opens his door, and I start judging which side has enough room for me to pass him on. But he stops at the rear of his car and starts gesturing towards my dented driver's-side bumper, so I think maybe he's just pointing out that there's something wrong with my car in case I didn't notice. That's nice, but...

"I can fix that for you."

I left my car in first so that when I blew past the guy the engine rev'ed extra just in case the sudden acceleration wasn't clue enough.

How good could these guys be that they need to stop random strangers, anyway? Either you're good enough to work in a shop where you can get consistency, a controlled environment, and benefits, or you're even better and you list yourself in the phonebook and advertise like normal people and work hard so people know you by word-of-mouth. Am I wrong?

Tuesday, March 30, 2004

Requiescant in pace. Keep off the grass.

I was listening to the BBC World Service in the 0700 GMT hour today, and heard them announce that Alistair Cooke passed away. Most of us USians probably know him from "Masterpiece Theater", but the past couple years I found and really grew to like his "Letter from America" segment. As an American, it was like having kind Uncle visit once a week to tell stories about all the little things you know to be true but just never stopped to think of before. I was kind of resigned to not hearing from him ever again already, since he stopped recording a month ago on the advice of his doctor. I feel let down easy, but it's sad just the same. Me, I would like to live to 95 and be as sharp as Mr. Cooke was. (This would require a marked improvement.) It could happen — I have a Grandmother who's 91 and was telling me a few weeks ago how she had a nice time "visiting with the elderly" just the day before.

I remember one Sesame Street episode with the Cookie Monster where they had "Monsterpiece Theater". The host was Alistair Cookie [sic]. The feature was "Me, Claudius", which consisted of a half minute of two monsters in togas, each pointing at himself and arguing, "Me Claudius;" "No, me Claudius." Then a third one enters and shouts "No, me Claudius." Curtains fall. How this was supposed to educate kids is beyond me.

In re the title, requiescant is the plural of requiescat (I had to look it up), the R of RIP. Also, Peter Ustinov passed away recently and he often said he wanted his epitaph to be "Keep Off the Grass".


The Penn State is mightier than the sword.

I apparently allegedly made a big bluder writing "Penn" when I should have written "Penn State". Corrected.



Spiney Norman
Happy Spiney?


Dinsdale! Dinsdale!!!

Just Like Darkman

Only with a face still. Or most of a face, I... heavens it's hard to sound lighthearted or witty without being a cruel bastard when talking about this three-year-old girl. Link via some blog or other. I forget.

There are only 16 or so people like her in the world. Because of a genetic defect, they feel no pain.

As a side note, her dad is some kind of racecar driver.


I don't know about you, but after reading the article I wondered what happened to Hereditary Sensory and Autonomic Neuropathy (HSAN) Types 1 through 4, and I found which genes and nerve types are affected. The FRED site at Penn State's College of Medicine is a little more informative from a layperson's perspective, even if the site seems to exist only to plug Penn State's researchers. Judging from references in published article abstracts, the creator of this classification system for HSAN is one Dr. Peter J. Dyck.

Sorry for the lack of links to scholarly journals or why it's Dyck's classification system &mdash I didn't think to check that I had bookmarked HTTP POST request responses to medical journal search engines before closing my browser window. I did find a chart that I think shows which symptoms appear in which type, but the chart's in Traditional Chinese. I don't know Chinese, but 無 means 'not', if that's any help.

I don't have to explain why bookmarking POST responses fail, right?

Friday, March 26, 2004

Unicode vs. search engines

Someone came here looking for "צורי USB" on Google. צורי is "rock" from this post, and USB came from here. Probably not what this person was looking for.

I'm happy. I was worried Google didn't up the UTF-8 stuff. After all, if the search engine can't see them, how would I know of the pages that aren't getting indexed? The search engine issue was what pushed me over the edge to give up on the more portable HTML escapes. This is also why good spelling is important — only the people who spell consistently with everyone else are the folks who will be found.

Not that the escapes were hard. In Mozilla, all I had to do was make sure I was looking at the post submission form in a non-Unicode encoding, and Mozilla, knowing the characters can't be displayed in that encoding, automatically handled the conversion.

What's neat is, with Unicode or the HTML entities, Lynx tries its best even if you tell it you don't have Unicode capabilities. Kohelet with the vowels left out (which is how it's written in the Bible), shows up as Q+H+L+T+. Japanese phonetic characters fare even better, though it doesn't deal with Kanji. I'm guessing is probably because getting the phonetic equivalents would computationally require about 70% of the effort of just translating the whole thing anyway.

Thursday, March 25, 2004

His "little Hugo" was showing.

On his offical page for the The Man In The High Castle, Philip K. Dicks site has a picture of the Hugo award the novel won. I know that's just how rocket ships are built, but it strikes me as being much more phallic than strictly necessary.

Tuesday, March 23, 2004

To be rhetorically fair

Since I always point out Rush Limbaugh's relentless ad hominem attacks, I should try to be fair about my "poor rhetoric" statement yesterday. I'm not blaming him for lies. If I talked on radio for as much as he does I would be dumbfounded if everything I said on air stood up to as much scrutiny as Rush gets. What's more, fallacies sell. I don't think he'd get as good ratings if he didn't appeal to emotion or use guilt by association (that plan is horrible because the Senate Democrats hate it, e.g.).

Also, I screwed up the last paragraphs of the post. Second to last should read:

Second, I did not understand the width of the great moral divide. I think many opposed to gay marriage believe homosexuality is as perverse as, say, sacrificing puppies. In that light, I'm eventhey're probably a little astonished that I'm not as indignant as they are. This might seem a "no duh" statement to you, but the realness of the feeling, real empathy never hit me until I put Tony's two and Dinesh's two together.
And there should be no break before the last sentence.


A moral decision or two

I rode in Tony's car to pick up some computer hardware. On the way back from the first trip where we had just earmarked the stuff we'd come back for, he turned the radio on. Rush Limbaugh came on, which is fine.

Not that I think Rush Limbaugh's show is fine, but I have no problem if your radio was already on the station when you turn it on and we sit there for twenty minutes listening to him. I'd take a trip with my dad to the beach and we'd be listing to a financial advice show that gave good advice, and then Rush would come on next, and why change the station? We're not going to agree on a music station, there was no game to listen to; we might as well stick with it. Secondly, I can handle streams of poor rhetoric in radio-sized doses. Everything moves at the speed of conversation which is a speed I'm used to dealing with on a daily basis, and I can work out in my head why or why not Limbaugh has a point statement-by-statement before he's already moved on. I'm always paranoid with produced and edited TV segments that with the visual data added to the mix that I'm missing something that's subliminally affecting my judgment. I worry after I've fallen asleep with the radio on, too.

So on the second trip, when we've got a truck following us to actually carry the stuff in, the radio burbles on about gay marriages in San Francisco or maybe some county seat in New York. So Tony, knowing I agree with him on some foreign policy issues and haven't objected to his radio talk show choices so far, starts venting his frustration about the gay marriage/civil union issue. He is, just to be clear, against homosexuality. Not that he has anything against the homosexuals. Though he didn't say as much, his stance is close to the Augustinian "hate the sin, love the sinner," which, if nothing else, is commendable from a consistency standpoint from a man who is proud to be a practicing Catholic.

I don't agree. I could go in to states rights vs. federalism, church vs. state and economic arguments, but that's not my point. My point is that I'm sitting in a car listening to a guy rant on about a point I don't agree with, and I'm saying nothing. I feel bad. It's not like he's trying to convince me - he's only expressing how he feels and isn't spending effort to tie it all together to prove his point. Still, I feel a bit cheap just sitting still and taking it in. I think to myself, I'm going to see Tony almost every day for the next few months at least, and it's going to be a lot easier for both of us if I just shut up and sit still.

Without that listening to Tony, though, I don't think I would have ever understood the moral side of the argument.

Later that week, once more scouting out people with opinions I don't normally pay attention to, I found Dinesh D'Souza. I was reading A Solution for the Democrats when two things hit me — first, I have no hope of being convinced when even D'Souza's straw men seem pretty reasonable at times. (I am opposed to robbery, but what's so bad about wanting free health care for everyone? I would love my elected representative to say "I would like free health care for everyone. Sadly, to do so is horribly impractical. Here is my proposal:..." I also want world peace, and for puppies not to die.) Second, I did not understand the width of the great moral divide. I think many opposed to gay marriage believe homosexuality is as perverse as, say, sacrificing puppies. In that light, I'm even a little astonished that I'm not as indignant as they are. This might seem a "no duh" statement to you, but the realness of the feeling, real empathy never hit me until I put Tony's two and Dinesh's two together.

There are a few loose threads about all this that I am trying together. There's the story about conceptions of disgust and roaches that have been in an autoclave (and so are more sterile than your own finger) from the "No Thanks" episode of Been There Done That. There's George Carlin arguing the evils of religion in a way that I find hard to refute.

I'm still not sure what I ought to have done in the car that day.

Friday, March 19, 2004

Final Programming Exercise Tactics Advance

In part because of .Pete linking to this article, and in part because I just had a craving to play the game, I started writing a program for Final Fantasy Tactics Advance. After most major events in the game you get to place a piece of terrain on the map, gradually arranging the countryside. Certain clusters of terrain types will have buried treasures, and the nicest treasures will be hidden only under certain patterns.

So it's a basic optimizing problem. Given which patterns yield which treasures, how favorable one item is over the other, and a known list of pieces and the array they can be placed in, which is the best possible layout? So I fired up a Scheme interpreter and got to work. My code generates a few thousand random scenarios, rates each by summing the assigned weight values, sorts the scenarios by that rating, and randomly recombines bits of the best 25% and some more random ones into a new set of a few thousand, and does it all over again. The code does exactly what I tried to tell it to do, but after 7 minutes — about 10 iterations at 4000 scenarios each time (experiment found using more scenarios at fewer iterations yields quicker results) — it's only about two-thirds as good as me sitting down for 30 minutes with pen and paper.

It's still a little buggy. I fixed the problem where, for a given set of neighboring terrain I was checking permutations against the list of items and not combinations. Currently I'm counting literal combinations: if you have four mountains, there are three combinations of three you can make, but I think the game might count only that there is at least one set of three neighboring mountains and ignore the remaining combinations (only terrain types matter). I'd have to play for hours to get to a point where I could test it. Also, I just finished figuring out that I need to carry the best trial(s) over each time so that if the random recombining doesn't yield better results I don't go backwards for an iteration. Thanks to the good old A.I. koan about teaching a computer to play tic-tac-toe for that one (if it bugs you, ESR explains the garbage collector koan and garbage collecting). Also, code profiling shows that more time is spent determining which items will be generated and summing the ratings than anything else. I should get a nice speed increase if I sit down for a bit and rework the algorithm.

I'd like to post the code, but I'd have to have a front page post with just screenfulls of code. I'll find some way to post it and link to it here without getting a whole new site.


I recommend:

If you like FFTA, try Fire Emblem: Sealed Sword or, even better, Advance Wars 2 for more of a tactical challenge. Advance Wars 2 more than makes up in challenge and game play for what it lacks in unique units/characters. For more of a traditional RPG, try Golden Sun but feel free to skip the sequel. All these are for Gameboy Advance.

I'd have used the very excellent MacGambit scheme interpreter and IDE, but my Mac only has a 16MHz CPU.

Oh, and I got all my data about how FFTA works from Gamefaqs.

Getting my butt out of bed in the morning

I mean it every time I say that I'll be ready early in the morning. Every time I think, I've got everything under control. I can handle this much better than I used to. I'm a driver. I'm a winner. Things are gonna change — I can feel it.

Every time the person I promise is skeptical. But I will show them. I'll not only be there, I'll be early. I'll show them all; They'll be impressed. This monkey has turned over a new leaf. It never works.

This morning, no one was waiting. There was no emergency. I was early.