I found this via a quick note that Hans wrote in his blog, but found it to hit the mark so astonishingly well that I learned quite a bit about myself, and about how patient my wife must be with me.
Now, back to my cave…
I’ve actually had a bit of a hard time coming up with items for my list this year – but here is the list, such as it is (All links are to provide a general idea, unless otherwise noted):
This is particularly funny to me as I’ve recently begun to read up and attempt to practice some of the agile methods. The basic gist of agile programming is that you make small, rapid, incremental changes to the software you build, and receive feedback on each change as you go from your customer. So, instead of writing, say, all of Microsoft Word at once and asking your boss if you did it right, you place a few buttons on the toolbar, maybe toss on a few icons, then stop and go see if your boss likes that. Change whatever is needed, and then add a few more things. Lather, rinse, repeat.
The turkey has been cooked, consumed, and caused us to go into a coma. The pie is almost gone. The relatives are getting ready to head back home tomorrow.
Sounds like it’s time to hang up some Christmas Lights!
At work I occasionally get so involved in whatever I’m working on (usually really ugly code) that I don’t realize just how long I’ve been at it. Sometimes I am rescued from this near stupor-like state of staring at my computer monitor by an interruption – someone popping into my office to play with my candy machine, or crack a joke about another imbecile customer calling because they can’t remember their password, etc. – but usually I am saved by my belly.
“Grumble” – it mumbles at me.
“Go away – I’m working here, and I’m on a roll. Can’t you see that I’ve almost got the database content lined up correctly with the reverse gear ratio? I’ll deal with your grumbles later.”
“Grumbly-Grumble-Grumble” – my belly persists.
“No! I can’t stop now! I’ll forget the chain of methods I just stubbed to refactor this mess! Here – have some water.”
“GRUMBLE!” – my belly wins.
Reluctantly, I slowly put down the mouse and carefully back away from the computer. Once I’ve broken free of the mental pull that programming provides (it really is like a tractor beam sometimes) I head to the kitchen in the office to see what’s for lunch.
Many days, I’ll make myself a sandwich with the bread and peanut butter and jelly I bring in. Add some cashews from the community cashew tub, and a granola bar or some yogurt and I’m all set.
This particular day I poke my head into the fridge (ignoring, for the moment the “10 reasons to go to work naked” sign posted on the cabinet door opposite the fridge – maybe I’ll fill you in on those another day) and grab my bread and jelly. Retrieving my peanut butter from it’s sacred resting place on top of the fridge, I reach over to the Fine Cutlery™ box on the counter and begin the ritualistic digging for a knife.
Anyone who has worked in an office with a small kitchen knows what I’m talking about here. See, occasionally our hallowed leader will make a pilgrimage to that holiest of holies in the realm of retail (Costco) and come back with a van full of treasures: a lamp, plastic shelving, light bulbs, bathroom cleaner, air freshener, tissues.
This particular plastic cutlery is the clear kind that claims to be “heavy duty” and comes in a box a little bigger than a size 13 pair of high-top Nikes would need – complete with a flip up lid and clear window on the top of the box that lets you buy in confidence that you are in fact receiving a box full of plastic forks, knives, and spoons.
But here’s the problem.
Someone, somewhere, sometime ago decided that the ratio of fork to spoon to knife would not, should not, and simply could not be equal. Balance and equilibrium? No, we’ve got to throw things off a bit by selling this cutlery in boxes of 300 pieces, where something like 120 of them are forks, around 160 of them are spoons, and the rest are knives. Do they assume that people using this stuff will just share the knives? I can just see our next party – open the plastic silverware, dump it on the table, and there we find 16 forks, 12 spoons, and a knife.
All night: “Can you please pass the knife” – “Sure, but I just licked it… ”
So back in my office kitchen I’m rooting around in this box looking for a knife like a mechanic who just dropped his last 3/8″ socket into your engine compartment – and something in the back of my head tells me that the day has come that there are just no more knives in the box. I knew it would happen. Each day it was a little harder to find a knife in the pile of spoons and forks, and today is finally the day.
Defeated, I face the fact that I now have to make a choice about how to spread my peanut butter and jelly: My eyes dart to my fingers – in a pinch, they have served this purpose before. Rejecting this as I know what filth must live there, I look around the rest of our kitchen. Leseee – a filing cabinet! Perhaps I could remove one of the door handles. It’s about the right shape… hmm.. nah, that’s probably dirty from everyone else’s hands, and would require a screw driver, which is all the way around the corner in a toolbox. Screwdriver! There ya go! Oh, wait, it’s still around the corner. A paper plate! I could cut it up and fashion a knife out of it! Wait, how would I cut it… Scissors! Hey, they are roughly knife shaped… but there are none in sight. I could get some from one of the other offices (no sense getting peanut butter all over my own scissors after all)….
With the fury of a thousand white hot suns, my stomach reminds me that it wants the peanut butter now, no matter what delivery mechanism is provided to get it there.
So, I sigh and grab a spoon.
The rule in the office is that we’ll replace stuff only when we run out. That means that I’ve got to eat 159 more sandwiches before another trip to costco will yield 20 more knives.
Well, at least that’s what I was thinking until I moved the box of cutlery and noticed that below it sat another box.
Of spoons. 300 of them, to be precise.
Can you please pass me another spoon? It’s time to spread my jelly.
Some time ago I wanted to to detach a working copy of some code I have been working on for several years so I could import it into a new repository on a different server. I did something similar to this:
find -name ".svn" . | xargs rm -rf
Which did *almost* what I wanted. The problem is that if any of the paths that are returned by find have a space in them, rm tosses everything up to the space.
In other words, if you have something like this:
/Documents/Projects/My Really Important Stuff/Project1
and My Really Important Stuff contains more than just Project1, you can kiss it all goodbye.
So, today I needed to do something similar, but I did it this way instead, which is MUCH safer:
find . -name ".svn" | while read f; do rm -r "$f" ; done
Sometimes when I’m at the store to pick something up, I get to see the most entertaining things. Ever watched people try to pick out vegetables? Fascinating.
Sometimes, when I’m at the store I provide great entertainment for those around me. For instance, last night I took my daughter to a local department store to pick out a birthday present for a school friend who is turning 5. Now, I’m assuming that this friend is like just about every 5 year old boy I’ve ever met – they like guns, cars, planes, action heroes, rockets, etc. My daughter, however, has different ideas. Up and down each aisle we go, she diligently looking at every price tag to find one that is below the pre-set requirement of $10 as her first set of criteria for any toy up for consideration. Upon finding one, her next set of criteria is the amount of pink the toy contains – the more the better. Finally, if it is a toy that comes with a crown, dress up clothes, or a house to put it in, we have a winner.
After inspecting every aisle of the entire toy department, we finally settled on a super hero puzzle and a Spongebob Squarepants bouncy ball.
More than a few times I saw people chuckle as I would walk past with my daughter in tow: "No, honey, I don’t think that he’ll like the princess barbie dress up extravaganza. Ohh..here’s a remote control uzi grenade cannon launcher… how about that?"
However, this does not compare with the experience my wife had with my son at the grocery store the other day. They were in the bakery section looking for some items on her list when my boy discovered 2 things:
1. His arms are long enough to reach that pie on the shelf.
2. Newton appears to have been right about gravity.
Now, I’m not sure of the proper etiquette when fleeing the scene of a pie-dropping, but I’m pretty sure that it involves stuffing as much of the pie contents back into the plastic pie-shaped thing it comes in, cramming what’s left of the pie, the contents, and the plastic pie-shaped thing as far back on the shelf as you can muster, sweeping what’s left under the shelf with one great arc of your foot, and calmly walking towards produce to avoid raising any suspicion.
I wasn’t there, but I’m pretty sure that if I was, this is what I would have done.