Sleep, perchance to code

I take naps at work.

There. I said it. My career is probably ruined now.

In grade school I don’t remember what classes I had after lunch, but I probably came close to failing them. There is something evil — or at least unthinking — when an institution requires intellectual activity in the early afternoon. I found it utterly futile to absorb trigonometry or history in that desperate hour or two after lunch, when I was yawning and trying valiantly to stay awake. In college I scheduled nothing important from noon until 2. In public school you don’t always have a choice, and your best bet is to take a class from a teacher who is cool about your forehead hitting the desk occasionally.

Civilized societies have siestas.

In the corporate world, meetings after lunch are commonplace. We schedule meetings during lunch. Jeepers, we have lunch interviews — just try explaining how a hash table works while you’re scarfing down cafeteria food:

Candidate: “Okay, these olives represent hash functions. And these Fritos are hash buckets. Now, we probe using this carrot, following the linked chain of peas until the end of the bucket or we fall off the table.”

Me: “Fine. And deletion?”

“Well, the peas are chained, so it’s a simple single-list removal. And when the list is empty, we get to eat a chip. Uh, list header.”

“Okay, radishes are now threads. How do you handle radish-safety?”

“Oh, a lock. But I’m allergic to radishes. You could go lock-free if you knew your system’s memory model really well; I’d rather eat celery all week.”

“So Q/A is all of this mysterious green crap over here, and your management chain is, well, we can build a little fort out of the potatoes and cauliflower. Your annual review is this flabby little pickle, bonuses are the pile of toothpicks, and HR is the smear of ketchup left from the last guy’s exit interview. Now, as I spill the soda (representing layoffs) over the whole organization, who stays high and dry?”



Naturally, dessert has chocolate chip cookies representing scheduling tokens in a real-time embedded system (“Let’s kill another process … yum”), with a slowly melting ice cream cone being the hard deadline. Oh, our interviews are merciless.


The problem with naps at work is where to take them. If you have your own office with a door that locks, you’re golden. If you’re in a warren of cubes you’re pretty much out of luck unless your cow-orkers are cool with seeing your feet stick out from under your desk. In the latter situation you also run the risk that someone not in the know will come by, spot your unmoving feet and call 911.

“Operator? One of my cow-orkers is dead!”

“Cow what?”

“Never mind, come quickly!”

… and when you get up and groggily try to explain that you were just taking a quick 20 minute schnozz, you get a face-full of double-ought buckshot because “Shit! He was daid and he’s gone an’ turned into a zombie!”  Ka-pow, that sucks.


I firmly believe that twenty minutes of shut-eye, even just calming down and letting your mind peacefully wander, is conducive to an entire afternoon of creative work, and should be encouraged by modern corporations in the form of nap rooms and group quiet times.

And milk and cookies.

Dem bones

Find the yarrow sticks, dust off your Ouija boards, crack open a fresh set of dice and shuffle the Tarot deck really well, because it’s time to schedule that software again.

What happened last time? Well, the goat entrails turned out to be a horrible idea (even though the goat itself was pretty yummy, afterwards). When the shaman was in his trance he was fuzzy on the difference between HTML and XHTML, wasn’t sure what REST-ful actually meant [hey, join the crowd] and thought that our sprints were four weeks instead of two and a half, so the schedule got all mucked up. I guess if you regularly channel an omniscient, immortal being, the details could get a little murky. The GANT chart had us writing the web service in an afternoon, the client-side UI in another day, followed by sixteen weeks of bug triage.

So this time we’re doing it ourselves; no “let’s try the bearded guy on that mountain-top this time,” no fancy consultants and their shrunked-head grandfathers, no kiva pits or nasty tasting mushrooms. Just us, our brains, and a truckload of luck.

“Okay, Figby, stare into the smoke and tell me how long Particle Weaving is going to take.”

“Grandpa says, six days.”

“Does that include unit tests?”

“I’ll ask.”


Super Pacman easter egg

Don Hodges found an easter egg that I’d left in the Atari 400/800 version of Super Pacman.  link   Here’s my response to him:


Oh, lordy.  I’d forgotten that was still in there. 

At one point the code at that address did put up a message or something. 

Super Pacman wasn’t a really hot conversion title at Atari (I suspect it didn’t do all that well in the arcades, either).  I had serial marketing types who were put in charge of it; they would show up once and I’d never see them again.  This probably had a lot to do with the many, many layoffs happening all over Atari, but especially in Marketing: My theory is that the people most prone to being booted out were given SuperPac as a kind of “Well, they can’t do too much damage with that title until their number comes up.” 

The one marketroid that I did see more than once came to me with what he thought was a great, original idea: “Why don’t we put a . . . what do you call them, uh, ‘easter bunny’ in the game, then people can have fun finding it.” [He really didn’t know the term.] 

“Easter egg.” 

“Right.  And we can tell people that it’s in there, and it’ll be a big mystery, and it can do something flashy, and maybe we can have a contest or something.” 

And I couldn’t think of anything to put in.  To tell the truth, I was pretty burnt out (and this was like April or May of ’84, with layoffs happening literally every two weeks), and my heart wasn’t really in it (I had some personal things going on – girlfriend-moving-to-Minnesota type stuff), and I drew a blank.  So all I did was to repurpose some display code I already had around, and stuck that scrolling message in.  91BD was supposed to do something more interesting (I dunno, maybe a shower of pacmen or ghosts or something), but I didn’t finish it up. 

Also, once you have permission, nay, /orders/ to do something, it’s not that much fun any more.  Suddenly doing an easter egg flipped from being something hidden, a secret way to sign the work and get credit, to a product feature that would be reviewed by other people.  And I probably still wouldn’t get credit. 

So, yet another lame easter egg.  The DK one I can blame on having essentially no ROM space left to do anything interesting with; this one you can put squarely on my shoulders – a lack of imagination, zero enthusiasm, depression, and a lack of “by sticking in this secret easter egg I’m poking a virtual finger in The Man’s eye.” 

I think I’m proud of /everything/ in SuperPac except for that stupid easter egg.  Ironic, innit? 

[Brad Fuller did the sounds on that one.  He did a fantastic job.]