Management by Hallway is the style of management when you get out of your office and walk around the office to see who you trip over. It’s by no means a reliable or scalable management style, but it does offer you the chance to strike up a random conversation about a random topic and you never know when all that randomness will lead to knowledge.
Part of my hallway management approach is to walk into someone’s office and, if it’s convienent, glance at their desktop. There’s a nervous eighth of a second when the co-worker sees that I’m looking and does one of two things: they hide their current window (hmmmm) or they sit back in their chair to begin our random discussion.
Really, I’m not spying. Engineers work too damned hard for manager’s to expect that ever single moment at work will be devoted to the code. I expect folks to pepper their work stints with news, music, and what_not as long as what_not doesn’t equal porn. What I’m looking for is a terminal window.
To me, the defining characteristics of my terminal windows are simple:
- A black background with just a smidge of transparency
- White, readable font (ProFont, 9 pt.)
- It has no agenda
That last bullet item throw you for a loop? I’ll explain.
Your average Mac OS X or Windows user will never see terminal or the console because they have no need. The whole purpose of the graphical user interface is to decrease complexity. There are buildings full of well intentioned people who are designing user interfaces bent on making decisions for you because each time you make a decision you might screw up. These designers are intimately aware of the unfair situation whereby a bad decision by you results in blame on them. The customer is always right even when they’re wrong. Ouch. Tough gig.
The end result of the all of their hard work are some exceptional applications and operating systems that have done away with anything resembling a terminal window. That’s good because when your average OS users sees a terminal window they think, “Oh shit, what did I break?”
Not me. Nope. I see Terminal Zen.
Terminal Zen is a feeling. It’s the sense of calm productivity I feel when that big empty black window covers my screen. It’s a sense that all the crap that is the graphical user interface is getting the hell out of the way and giving me primal access to my computer. It scrapes away all that magic the interface folks and exposes the nuts’n'bolts of the OS. You can have a similar experience by grabbing a flashlight and heading under your house. Look around a bit — in a few minutes, you’ll notice that, hey, all your drains go to one exactly one big black pipe that heads into the ground. How amazingly dull. And all that phone wire hanging all over the place? That’s your DSL line.
Not with me, yet? Let’s go back to just after I landed the new design for the site.
Once I published the new site, I promptly fired up three terminal windows. Two windows doing a “tail -f” on my web server’s access_log and error_log files and one utility window. What am I doing? For you non-Unix nerds out there, the tail command lists the last few lines of a file. The -f parameter leaves tail running and lists new lines which are added to the end of the file. By watching new additions to these files, I’m doing real time QA on the new site. I’m looking for bad links, I’m looking for missing files, and I’m watching the traffic as it happens. That’s right. I’m visually parsing the obscure common log format on the fly rather than using one of the many fine graphical tools out there that does that work for me. Why? Because those other programs have their own agenda.
Every well designed program attempts to make decisions for you in the name of usability. They do this by making decisions about what a user needs to see when. They take those decisions and build more and more user interface which, ultimately, simplifies the most common tasks, but totally buries and/or removes access to the uncommon ones. Great interface makes life easier for your target demographic, but great interface almost always makes life harder for power users by obscuring functionality. We’re ok with that. Here’s why:
Think of a great carpenter walking into a furniture store. They see a table they want to buy except it’s got cherry trim… and they hate cherry trim. Now, they can’t buy the table that’s 95% great because they know there is no magic to building a table, so they say, “Screw it, I’m not going to settle, I’m going to build it myself.”
There is no magic.
When it comes to nuts’n'bolts work on my computer, I’m irrationally willing to spend 10x the time to research and develop a tool that has a tenth of the features of an existing product. My willingness comes from the fact I know I’ll experience the joy of creation as well gather invaluable data from the various knowledge excursions I’ll make in support of my building efforts. All of this happens in a big black terminal window. Terminal is my hammer — it is the window within which I can build and see anything.
So, when I walk into your office and glance at your screen and see this big black window, I’m not looking to see what you’re doing, I’m looking to see how you’re doing it. When I see some form of a terminal window merrily chugging away, I think “Aaaaaaah… another terminal nerd. A fellow seeker of Terminal Zen.”