Forgive me for such a long post. When I first got the idea to write this, I didn't intend for it to go so long. Great plans of mice and men and all that. If you stick through the entire post, I do have a question for you at the end.
You spend at least 8 hours in the office (at least those of us that work)... so it's natural that you want to fill your work environment with a part of you... something that you will enjoy. There are certain things that I always have in my cube that I never can seem to do without.
First there are those certain books that I never crack open any more, yet I seem to need to have in sight to feel complete. They're what I call the Programming Testaments. If you are a book learner like I am, then you know these titles in one form or another. They all have various editions, but are so well known that they're often simply referred to by their author's name now. I'd love to write a book some day that was so well known that people would say "Hey, can I borrow your copy of Schweitzer?"
Programming Windows: This is the bible of Win32 API programming. Every now and then people still ask to borrow my copy of Petzold. He even has a blog now. Even today with managed code and object oriented programming, having an understanding of the basic Win32 API is valuable. All the layers that have been built since then still eventually call here.
Advanced Windows: This is the bible of memory management and threading for the WinNT platform (which whether you realize it or not is what Windows XP is). Things change, and .NET has made this somewhat obsolete... but if you do interop with .NET like I still do... than Richter is still a good reference to have. Remember... the OS isn't managed.
The C++ Programming Language: I don't program C++ any more, yet I still consider this to be my first language. I have the newer edition of Stroustrup in my cube, and an older edition at home that was given to me by my brother-in-law Shannon. That older edition is special to me. It's highlighted, coffee stained, worn, and well read. He gave it to me early in my career and said "Read this and you'll know everything you need to." He lied. I had to read it several times.
The C# Programming Language: This is what I consider my primary language now, even though I actually write VB.NET at work. I hate VB.NET for reasons I share from time to time on this blog. Keeping this book in my cube reminds me that not all languages are trite, wordy, silly, and hamstrung. Anders (I refer to him by his first name when I reference the book for some reason) isn't as well written as Stroustrup though. Stroustrup can be read like a real book, even if it is incredibly difficult. Anders is written purely as a language reference.
Code Complete: This is not considered to be any sort of testament by many people, but it ought to be. McConnell is one of those books you keep in your cube to see who looks at it and says, hey you have a copy of Code Complete, can I borrow that sometime? It's a litmus test of developers to see whether they simply hack out code or design software. If you don't think there is a difference between the two, then get away from me.
But besides the books, there are other more superfluous things that I like to keep in my cube, that hopefully reflect more on my personality. They're just some fun things I've collected over the years.
The Scream: Its by Edvard Munch, and one of my favorite paintings. I have a blow up doll version that I keep on a shelf.
Dilbert Mint Tins: The tins are empty now, but every cube has to have some sort of reference to Dilbert in it. It's a law you know.
The Binary Clock: My mom gave it to me for Christmas one year. I thought it was silly at the time, but now it's kind of interesting. Every now and then someone will walk in my cube and just stare at it... and then eventually say "I give up. What is that?" After some clues, some people eventually figure it out, usually by guessing. Mind you, these are all software developers that I work with. When I tell the ones who can't guess that it's a binary clock, they eventually say something like, "Oh, OK" and then walk away. It always makes me a little sad when that happens.
Acrobots: This is just a fun little guy that I occasionally pose in different ways to see if anyone notices the change. Nobody has yet. Maybe that's because nobody comes to my cube that often... hmmm... I won't ponder that thought.
I have a few other miscellaneous things, but you get the idea. Recently a friend turned me onto this site, called Despair which is just hilarious. Being a consultant, I was thinking of getting a small version of this to put in my cube. My question is... is that going over the line? Would it be unprofessional to have something so blatantly cynical in my cube, no matter how true?