A recent comment on a Slashdot story actually got me to laugh out loud at work enough to attract some attention, and that’s pretty rare for me (laughing at something I see on the internet). What got me to laugh? Human characterization of a computer. It makes me laugh because I do the same thing — I give machines personalities when I think about or work with them. (To those researching autism spectrum disorders, you might want to scribble something in your notebook right about now.)
Most people trying to comprehend what this is like would probably imagine something flamboyant and animated, such as Eric Schwartz’s tribute to the Amiga. While such characterizations are creative and nice, that’s not what gets me laughing. What does it for me is a computer that acts like a fallible human. Here’s the post that got me laughing, paraphrased slightly (for the uninitiated, ext4 is a method of storing files in a Linux system, and the context is an application “talking” to the operating system):
I don’t quite trust ext4 for writes.
app: Hey, can you write this data out to
app: Uhh, that wasn’t long enough to actually write the data.
ext4: Sure it was! I’m super faGRRRRRRRRRRRRRst at writing too.
app: Wait — did you just cache that write and report it written, but then not actually write it to disk until 30 seconds later?
ext4: Yeah, so?
I routinely do this sometimes when dealing with a unix server that is hurting, such as having so many spawned threads due to an unforseen condition that there are several times more threads running than there are CPUs to handle them. I imagine each CPU as a juggler frantically trying to keep 20 pins in the air at once, sweating profusely, and calling out to the other CPUs for help only to have them yell back they are just as screwed as he is.
Does anyone else do this, or is it just me?