I will not let the Whiz Kid conduct research aboard my ship. If he's got a theory that he's itching to test, I will deposit him on an uninhabited planet in friendly space, and make sure that I'm out of the system before he's done unpacking.

Feb 7th, 2008

If I Am Ever a Starfleet Captain...

I will not ask "What does God need with a space ship?" and then order a torpedo strike. I will order the torpedo strike first, and ponder theology on the trip home.

Feb 7th, 2008

Reading a book per month

When I talked about Quadrant II, I also mentioned coming up with a long list of goals for things to accomplish over the next few years. Two related goals were:

  • Read one book per month.
  • Read the entire Baroque Cycle by Neal Stephenson

Stephenson is my favorite author. I've enjoyed reading (multiple times) every single book that he has ever written or co-written. His latest effort is a three-volume, eight-book set called "The Baroque Cycle". It starts with the volume Quicksilver, and continues with The Confusion and The System of the World. I picked the first up a few years ago and have tried, valiantly, to get through it on more than one occasion. You see, every other book he's written is set in the present, pseudo-future or cyberpunk-future. Those genres are fairly easy to read about. TBC, on the other hand, is set in the late 17th and early 18th century - the time of the Royal Society, Isaac Newton and the like.

Stephenson is also very verbose. He's highly criticized for this, among other things. However, he says the following, with which I wholeheartedly agree:

Personally, I am delighted to read extremely long books, or series of books, as long as they hold my interest.

This is, admittedly, the very reason why it has taken me so long to get into these books. It's harder to get lost in the verbosity about the old world than a fantastical future one, at least for me. However, in the spirit of killing at least two birds with a single stone, I've decided to start out my reading of a book per month with the rest of TBC. Difficult, to say the least, but not nearly as hard as I remember it being the first time. In more recent years, I've begun to have a greater appreciation for history in general. So it was none too shocking to find myself more easily engaged by this book now than I was two or three years ago.

I had a fairly solid recollection of the events in the first book in volume I, also titled Quicksilver, so I decided to start off with the second book, The King of the Vagabonds (which is really funny to read when you picture the main character as Johnny Depp's Captain Jack from Pirates of the Caribbean). I finished it a few days ago, thus getting this goal off to a good start, and went right on into the third, and final, book of Volume I, Odalisque. February looks promising.

I can't complement Stephenson's writing enough. I'm never bored and often get lost in the worlds he creates. My only hope is that he happens to have something else coming on the horizon that I can start reading in later months. My backup plan is to read the rest of the writings of another favorite author, William Gibson.

Feb 1st, 2008

Quadrant I: Delegate or Die!

Urgent and Important

I seriously considered not even writing about the first Quadrant of the Time Management Matrix. I've written previously about keeping tasks from sliding down the slippery slope towards becoming both urgent and important, so I figured that I'd already covered my utter hatred for getting stuck working in Quadrant I. That being said, it's not just about effective planning. Planning will certainly stave off the slide toward Quadrant I, but you can't prevent every fire.

The best response to a fire? Call a fire-fighter.1 As a manager, we can't try to put out every fire. For folks like myself, who started out their career being the problem-solver, giving up the need to fix things is VERY difficult. I have a constant desire to tinker and a constant desire to fix what is broken. I hope I never lose that entirely. However, if we choose to be the go-to problem-solver, we'll end up living in Quadrant I. We'll never sleep, never plan, and never keep all of the other things we have to do later in line.

This is where delegation comes in. As a manager we have people (well, those of you who have been able to completely staff your teams, anyway). These people have jobs to do, but one of the best ways to effectively groom people to succeed and improve is to give them new, difficult things to do. Enter the fire-fighter.

Penelope Trunk, over at The Brazen Careerist, wrote a great post titled 7 ways to be a better delegator. I happen to agree with all seven ways. She also makes a fantastic point about how this relates to mentoring:

Hands-off management isn’t respectful — it’s negligent. People want mentoring and guidance from their manager. If you give that in a way that helps them grow while also treating them with respect, they’ll love having you around. And when your direct reports love having you around, they do their best work for you out of loyalty. Even younger workers — those notorious job-hoppers — are loyal to respectful, hands-on managers.

After reading the article, I was somewhat relieved that I'd figured most of this out already, (though I admit that I try to put out fires every now and again just to remind and be reminded that I still can). I make a real effort to keep my staff from needing to do any of the busy-work or crap-work that has come down the line. For instance, in functional and design specification writing, it makes more sense to have an engineer concentrate on the concepts and communicating them effectively than on document formatting. I can handle cleaning up a document... it takes me only a few minutes to re-format a document in Word, and hey, it's kinda fun making everything line up perfectly.

Managers have to become ok with being good at silly things so that they can give the fun, interesting and difficult tasks to their employees. This is a two-outcome strategy. If they succeed, two things happen - first, they look good; second, you look good for having good employees. If they fail, it's a learning experience for them and also for you as you get to find out by example what they're capable of so that you know where they need to grow.

This is about to lead into a post about mentoring. Maybe another time... I don't want my new employees who might google me to get all of my management secrets right away.

Back to the central point - handling Quadrant I tasks. If you don't have someone to whom you can delegate, don't spend too much time trying to get out of doing the work. It has to get done, and the sooner it's done, the sooner you can get back to Quadrants II and III, which is where you should spend the bulk of your time. Obviously, if you have an appropriate person to whom you can delegate, you should do it with prejudice! It's your job as a manager to keep the nonsense things out of the way of your employees. So, by giving them emergencies to handle, they grow, you look (are) good, and everyone's happy. Eventually, you look like the person who can handle anything that gets thrown their way.

The funny thing about that is that at said point you actually are that person. To me, that's a great goal. It requires some strategy to how you handle what gets thrown at you, but if you combine that with proper planning, proper prioritization and proper maintenance, you should be pretty effective at it.

  1. Bear with me? I know the analogy is corny.

Jan 30th, 2008

Do glasses make the man?

Advertisement for Oogmerk opticians in the Netherlands, which is just brilliant and potentially viral.1

  1. I don’t look like a butcher sans glasses, though admittedly I do look a few years younger!

Jan 29th, 2008

Testing Perl Support for Google SyntaxHighlighter

Note that this post is no longer formatted as it states below.

I've been enjoying playing with Google's SyntaxHighlighter. Another user came up with a Perl brush file, so I thought I'd give it a shot. One note from the author of the brush file is that -> gets converted to -> rather than being translated properly. It's definitely the highlighter that does it, too, because when you disable the brush it shows up properly.


use strict;
use Mail::Box::Manager;

# User Variables
# Set $password to your password (encoded):
# . only the low four bits of each character count
# . character 0x3f gets split into 0x?3 and 0x?f,
# . fill in the ?'s with anything you like
# . man ascii =)

my $server = '';
my $username = 'username';
my $password = 'tSvx6!f>v7V%d=fU'; # the word "ChangeMe" encoded

# Get em!

my $mgr = Mail::Box::Manager->new;
my $pop = $mgr->open(type => 'pop3',
username => $username,
password => decodePassword($password),
server_name => $server);

my @messages = $pop->messages;

"33[00;30;1m:33[00;36m:33[00;36;1m: ", scalar @messages, " messages in mailbox :33[00;36m:33[00;30;1m:33[mn";

foreach my $message (@messages) {
    my $fr = $message->get('From');
    $fr =~ s/s+< .*$//; $fr =~ s/"//g;

    printf "33#733[1m %-28.28s %-45.45s33[0mn", $fr, $message->get('Subject');
    my $lbls = $message->labels;
    while( my ($k, $v) = each %$lbls ) {
        print "key: $k, value: $v.n";


# methods

sub decodePassword($) {
    my ($password_split) = @_;
    my $password = "";
    my ($high, $low);

    $password_split = reverse($password_split);
    while (length($password_split) > 1) {
        $high = (ord(chop($password_split)) & 0xf) < < 4;
        $low = ord(chop($password_split)) & 0xf;
        $password .= chr($high|$low);

    return $password;

About three years ago I was living in the shell. I had a script aliased to m that would run a perl script for each of my IMAP accounts and show me all of the unread messages. The script had been originally written by a fellow Help Desk supervisor at UB and then given colorization support by another fellow supervisor, Doug, who has since become a perl and python guru.

The trouble then was that, while this worked for my home email server, I had to change some of the socket code to work on all of the other IMAP servers I used. That wasn't too tough since IMAP is a relatively straightforward protocol. Getting POP support to work looked to be a lot harder, however. I couldn't find anyone that had written something similar for me to hack, so I wrote my own.

This script above uses the perl module Mail::Box which installs straight out of CPAN. It's probably been updated since this was written, and I don't even know if the script still works (who still uses POP??).

Jan 28th, 2008

General Task Collection Triggers

I mentioned task collection as a GTD concept in my post about the Second Quadrant of the Time Management Matrix. I find this to be an utterly invaluable experience, and even MORE valuable when done on a regular basis. The last time I read Getting Things Done, I copied his list of common task collection triggers and sliced, diced, re-worded and added to it until I came up with something that worked for me. Doing this has given me a reliable method to use when I need to stop and collect everything I need to accomplish in the next X amount of time.

This is the list of triggers that I use to make sure I don't forget about important tasks. Please note that the list provided in David Allen's book is FAR more complete. This is just my list:

  • Family
  • Church
  • Follow-Up Communication (look at my recent sent-items)
  • Upcoming Events (check calendar)
  • Borrowed Items
  • R&D - things to do
  • Financial
    • Bills
    • Banks
    • Investments
    • Loans
    • Taxes
  • Household
    • Upkeep
    • Decoration
    • Areas to organize/clean
      • Closets/clothes
      • Garage/storage
    • Vehicle maintenance
    • Pets
  • Computers
    • Home
    • Work
  • Health Care
  • Hobbies
  • Errands
    • Hardware store
    • Drugstore
    • Groceries

The idea behind this list is simple: stare at it. Use it to empty your head of all of the things that have come up recently to do that you didn't collect at the time. I might, for example, have thought this week that I needed light bulbs. I forgot to capture that thought then, and I forgot about it. Oops. When I sit down on Friday mornings to review the past week and plan the next week, I look at this list and see "Household » Upkeep" or "Errands » Hardware store" and I remember that I need light bulbs and should give myself a task to stop by Home Depot for a large-ish pack of CFLs.

Seems simple? Well, yeah... it is.

Jan 24th, 2008

Tips For Resume Writing From a Hiring Manager

I'm still in the midst of staffing frenzy at work, though things are looking better than they were. I suppose the impending recession is to the benefit of some. On average, I seriously read about 10-20 resumes per day, and about twice that on Mondays to account for the weekend. Most of these resumes are written fairly well, but there's one mistake that seems to be consistent - 90% of them are over 5 pages long.

Yes. 5 printed pages. For a resume.

One might think this was limited to folks with 10+ years of experience. One would be dead wrong. From what jobs a person has had for the last four years since college to every internship, co-op, part-time job and paper route, each are glorified with 2-3 "action statements" or, even worse, a paragraph. My favorite example is one that contains something like this (I'm fabricating this example in its entirety):

Dog Walker (self-employed) 5/1996 - 10/1996

  • Responsible for complete care of 10-12 canines several times per week
  • Created detailed exercise plans for all clients and executed them on a regular basis
  • Delvered on-time, consistent service

Ok, first of all... you're applying to be a software engineer. You've been doing something similar for about four, maybe five, years. For what reasons would you possibly want me to know that you spent a summer twelve years ago walking dogs?


Had this been from an actual resume, I'd have serious concerns about the level of judgment of this individual. They either sincerely believe that their summer excuse to walk around in nice weather was relevant to the work they'd be doing designing and developing software, or someone else told them to put EVERYTHING they had ever done onto a resume. So perhaps it is relevant. I will allow for the obvious fact that I'm not the world's greatest hiring manager. I have to give folks like this some benefit of the doubt, but this was a rant, and now that rant is over. </rant>

There's a serious purpose to this post. I've been thinking a lot lately about what I like to see in a good resume. To me, a resume has one purpose -- to get you an interview. So, you might think it goes without saying that the best way to do this is to design your resume to effectively communicate why YOU are the best candidate for a particular job... and let me tell you, sending a novel when a haiku would do is never, ever going to win you anything.

Thus, I present my personal set of tips for resume writing, from the perspective of a hiring manager. These are in no particular order:

Read on
Jan 22nd, 2008

Quadrant II: Making those other plans

Important but not Urgent

I love to plan. Making lists, brainstorming, hypothesizing. I love it all. If I could design my perfect day, I wouldn't do a single urgent thing. Rather, I'd spend the time getting done anything that I thought could become urgent in the near future. Everyone would think I was so completely on-top of my game that they'd probably hate me.

Well, just a little, anyway.

From the Time Management Matrix, the common set of Quadrant II activities include:1

  • Preparations
  • Presentations
  • Value Clarification
  • Planning
  • Relationship Building
  • True Recreation
  • Empowerment

Ideally we should spend the majority of our time here in Quadrant II, handling activities that are important but have low urgency. This is wise; it serves to keep your deliverables and responsibilities from actually becoming urgent. Once something is urgent, you're stuck. If you want to keep your job/family/life/etc., you have to do it NOW. Taking care of that looming task when it's still in Quadrant II (or ideally, IV) empowers you. It puts you squarely in charge of the tasks about which you are already aware. I don't know if this is what is meant, in the list above, by "Empowerment", or if that's about empowering your delegates. I'll go ahead and presume I'm right and it's about empowering your own ability to do things in a particular order. If I'm wrong... meh.

I spoke about a previous life previously, in which I spent a vast majority of my time in Quadrant I. One of the most helpful things I ever did in that life was to shut my door for an entire day and re-plan absolutely every facet of the next week. I took the time to stop and plan how my week would follow, giving myself about 30-40% of my time to deal with all of those urgent and important activities that were bound to attack me as the week went on. It meant all of the difference to me in the world. David Allen talks about this a bunch in Getting Things Done, though he doesn't explicitly link it to the TMM. The closest analogue is when he discusses task collection and the process of emptying one's head. This is an interesting enough process that I'll write about it another time. It has, recently, led to the creation of a few sets of goals and milestones, such as:

  • A list of 101 things to accomplish in the next three years.
  • A list of achievable work-related goals for myself for the year.
  • A list of (hopefully) achievable goals for my team for the year.

The point of all of this is simple - make the time to take the time to plan at least enough to get you through the next short period of time. A proper plan (or at least a proper set of goals) gives you the flexibility to adjust your workload as you encounter the more urgent tasks along the way. This is what I meant when I started to talk about breaking down your list of projects into smaller, quickly completed, tasks. That, at the core, is what GTD is all about, for me anyway. I've read posts by several other users of the GTD methodology who center on an important concept - Getting Things Done is about finding the best possible framework for you to get said things done efficiently with overall lower stress. Each person is different, so any blanket approach will fail some of the time. much as I want to think otherwise, blogging will always be a Quadrant IV activity. I suppose that, until someone wants to pay me to do so (who would ever want to do that??), it's smart that it remains something I do with bits of free time.

  1. I made an argument for relationship building being a Quadrant IV activity, but other than that, this is a good list with my favorite “preparations” squarely at the top.

Jan 21st, 2008

NewsGator Products Now Free!

NewsGator, the makers of RSS readers such as FeedDemon and NetNewsWire, have decided to go the free route for their consumer products rather than continue their subscription model. I've been using FeedDemon for quite some time (and NewsGator Inbox before that), so I'm very happy to seem them make this decision. I'll ignore the fact that I paid for FeedDemon.. if it was worth it then, why wouldn't it be now?

Since I already own this now-free software, I wouldn't normally find it note-zworthy. However, I purchased a Samsung SCH-i760 a couple of months ago, so I'm intrigued to try NewsGator Go! So many contextual links, I almost frighten myself.

I highly recommend the NewsGator service. I like it over just about any other offering out there.

Jan 11th, 2008