csammisrun - now in stunning HD!
Ba-dum-bum!
Ever heard of the “Anal Game”? Yes, it sounds like a terrible pickup line, but also it’s a keen new driving game a la License Plate Bingo (not really). Courtney’s friend told her about this: You take the model of a car that you see and put the word “anal” in front of it. Nine times out of ten, this results in lollin’. Take for example the Nissan Pathfinder - “Anal Pathfinder” yields some reasonable guffaws.
Tonight Courtney and I were driving around Champaign and marveling at how great Isuzu seems to be for this game (Amigo, Rodeo, Trooper, Ascender, and Hombre being the ones we listed). I said that Courtney’s car, a Honda Accord, seemed rather regal-sounding.
Courtney: “There’s a Honda Prelude, too. That one’s kinda funny.”
Chris: “Heh, yup.”
Courtney: “It doesn’t make much sense though, because I don’t know what it’s a prelude to.”
Chris: “Yeah, anal seems like more of an endgame.”
It’s a good thing we were pulling into a parking lot, because we were close to tears with laughter.
This post brought to you by the Illinois Commission for Chris Blogging More Often!
Lock ‘n’ Roll 1.1
A stunning update to Lock ‘n’ Roll 1.0.1, this version includes the following changes:
- New: LNR restores statuses that it replaces when the workstation locks
- Bugfix: LNR no longer replaces Unavailable, Offline, or Invisible statuses
- Misc: Documented the source code
- Misc: Updated URLs to point to the specific LNR category at my site
Thanks to O. D. for submitting a patch to accomplish the new feature and the bugfix!
Download locknroll-1.1.zip, source and binary included. To install, copy “locknroll.dll” to the Pidgin plugins directory. To activate it, restart Pidgin and go to the Tools menu, select Plugins, and tick the checkbox next to “Lock ‘n’ Roll”
Plumbing!
Gather ’round people, and hear the tale
of a toilet repair that caused a hail
of glass and water and epic fail.
Courtney and I moved into our new place on Sunday [ed: five weeks ago, this post massively delayed by forgetfulness]. The move went swiftly, thanks to a great bunch of people helping us out, and soon we were unpacking and discovering the little quirks of the townhome. One of those quirks was the upstairs toilet, which filled very slowly after flushing. I looked at it and figured that there was a blockage in the fill valve. “Bah!” I said, “Why should I replace the entire thing when a simple fix might be all that’s required?” Armed with screwdrivers and pliers, I started to take the valve apart to find the blockage. Once I found the block, I decided that I could just hold my hand over the top of fill valve to prevent any splashing while I tested the fix. “It was very difficult to get the valve apart in the first place,” thinks I, “and I don’t want to put it together only to possibly have to do this all again.” Courtney came in to observe my progress and, eager to show off that I am a handy man, I twisted on the water full-bore.
This turned out not to be a good idea. At all. See, when you remove a blockage from a thing and then send water at high pressure through that thing, there’s no reason to expect that the water would be slowed down any more. My hand was thrown off the valve by the jet of water, which hit the ceiling and splashed two light bulbs over the sink, which exploded all over the place. I spluttered and turned off the water right away, but the damage was done. We picked up a lot of tiny pieces of glass, and I decided that there was no way a brand new single-piece fill valve could be expensive enough to justify this chicanery.
They cost seven dollars. The new valve went in without a hitch the next evening.
DJ Jazzy Jeff thrown out of Kansas City’s P&L District
Shame on you, Power & Light District! It is only okay to throw DJ Jazzy Jeff out of a place if this man does it:

Chitchen Corner With Chris and Courtney
When a recipe calls for three Thai chilies, substituting three habeñero chilies is way too much.
Ow.
Oh boy, another programming project!
Since shaim is over, I’ve found myself with rather a glut of time on my hands. I’ve been reading a lot more (alternating between the Dune series and the Dresden Files series) but I still have the desire to work on programming stuff in my spare time. This time around I’ve decided to combine my love of strange books with my interests in linguistics and computational analysis.
I’m guessing that aren’t many people reading this who know what the Codex Seraphinianus is. From Wikipedia:
The Codex Seraphinianus is a book written and illustrated by the Italian artist, architect and industrial designer Luigi Serafini during thirty months, from 1976 to 1978. The book is approximately 360 pages long (depending on edition), and appears to be a visual encyclopedia of an unknown world, written in one of its languages, a thus-far undeciphered alphabetic writing.
It’s rather rare (read: expensive) and isn’t currently published in the US, but I happened to get a hold of a copy via Courtney’s connection to the library at the University of Illinois. The art is beautiful, and the language intrigues me. Linguists have worked at figuring out this language since the book was first published - for all anyone knows, it’s complete nonsense. I’m not vain or stupid enough to think that I can succeed where trained linguists have not, but I decided I’d try my hand at learning about image processing and give the deciphering a crack myself. What can it hurt?
The first step to all of this ballyhoo is to extract words from the book. Recently I came across some fairly high-quality scans of the Codex. Here’s an example of the writing:

Writing from the Codex Seraphinianus
The scans are full-color and you can see where images on the opposing page have shown through. The first thing I did was write a quick program to convert the images to black-and-white. This removes a lot of the noise, smallerizes the image files, and gives analysis algorithms an easier time of figuring out what’s where.

The same paragraph in 2-color format
The next step is to figure out where words are on the page. I’ve implemented a connected components algorithm that identifies connected regions on an image.

The same paragraph with connected regions colored
That’s all my progress as of last night. The algorithm isn’t perfect yet, I’ll have to tweak its performance to find regions that should be connected but aren’t because of quality issues in the black-and-white format. You can also see that diacritic marks aren’t grouped to the word that they belong to, so the next phase of processing will involve grouping regions that fall within a bounding area.
I’m not entirely sure what comes next, at least as far as extracting the text goes. This is a learning experience for me. Further bulletins as events warrant
I’m all up outta here, part 3
The even-stunninger conclusion to I’m All Up Outta Here parts one and two!
I’m just going to come out and say it: I’m burned out on shaim. As of right about now, I’ve been developing some incarnation of shaim for four years. I really enjoyed the experience that it netted me, as well as the satisfaction of helping loyal users as they reported bugs and endeavored to help me make it better, but now enough is enough. The site will remain up as long as Greg sees fit to leave it up; if it ever goes down, I’ll transition the codebase to another host so that anyone who wants to use any part of it may do so.
Thanks go out to everyone who’s contributed code, resources, or general support over the years. In no particular order:
- Greg
- CheeToS
- saiyr
- Joy
- Andrew
- The group from Western Washington University who contributed to shaim for their senior project
- The dozens of people who’ve contributed bug reports and kudos
PEACE OUT
I’m all up outta here, part 2
In a stunning continuation to part one, I’ve recently decided that the next thing I’ll be all up outta is saltwater fishtankery. What with the moving, and the subsequent starting to save for a house downpayment, I just won’t have the cash necessary to properly maintain a saltwater tank.
That said, I’m not getting out of the hobby entirely! It’s just in my best interest to wait until I have a fairly permanent living situation and a stockpile of liquid funds to do what I really want to do - big tank, automation, underwater cameras (yes), THE WORKS.
EXCLUSIVE CHRIS UPDATE
Somehow I managed to put my boxers on backwards this morning, and didn’t realize it until about 1:45PM when I attempted to use the restroom.
Interesting point of fact: if Twitter wasn’t such a horrible service written using a ridiculously poorly scalable infrastructure, I’d probably have put this there. But Twitter bites and now you know about my underpants. Tell your friends about this fantastic reason to campaign for a better Twitter.