Maintaining an empty inbox

The joke runs like this: When you have something you need done, give it to a busy person.

It’s very true, and for several reasons. Busy people have multiple projects, demands on their time, and responsibilities. They are trusted with increasing responsibility because they’ve proven themselves capable of handling tasks efficiently and competently. Part of being busy involves a deliberate strategy for time management. If you know how to manage your time, you accomplish more and better than those who do not.

Over the last several weeks, I’ve had a couple of (to me) strange responses to my emails concerning two different issues. The responses looked like this: “I’m sorry I took so long getting back to you; I am BURIED in email and my inbox keeps growing!” They’re not people I work with closely or may even need to talk to again, and I would have serious qualms about bringing them aboard any project I develop or manage in the future. It
also tells me that in whatever priority system they’re using, I fell off the radar.

Having an unmanageable inbox is a sign that you can’t manage multiple projects. I do not say an empty inbox: I said unmanageable. There are a lot of different strategies for coping with inbox overflow; go read every twentieth post at Lifehacker. People may choose to manage their inbox with tagging, folders, auto-reply…whatever your choice, being incapable of dealing with the mess is the same to me as if I’d walked into your office to assign you greater responsibility on a project, saw giant piles of paperwork everywhere, and decided that you obviously had enough to do without me adding more on top of your too-heavy burden.

If you reflect on that for a minute, you’ll ask yourself how many times you’ve given that excuse for not responding to an email rapidly or with the correct information. Has it cost you the
added responsibility that might have led to a promotion or better position?

I keep an utterly empty inbox. I counted when I started writing this post, and yesterday, May 24th, I had 89 email threads to deal with. That’s THREADS, not individual emails; they range from no-reply-needed all the way to one thread that required 22 responses from me yesterday. I use Remember The Milk; most people are familiar with that cloud service for GTD. One of my daily repeating tasks is ‘Zero the inbox.” At least once per day, I look at a totally empty inbox; this means that no one waits longer than 24 hours for a response of some kind from me. Some emails get archived and turned into tasks in RTM, some get archived and turned into Google Calendar events, some get trashed, and Mom’s emails that start with “FW:” get round-filed via Gmail filters. [Sorry, ma, but I warned you about the kittens and chain letters.
Love, your busy, heartless daughter.]

As someone who manages several projects, applications, servers, Scrum teams, and networks, I can’t think of any other way to stay busy that would ever work besides zeroing my inbox no less than once a day and more if I can. Do you have any ideas I can also implement?

The IDE Wars: NetBeans or Eclipse for Java Software Development

I’ve been working on several applications for a few years; some are ready or released into the wild. I’ve used NetBeans and Eclipse to develop one application in particular; I’ve written an Earthdawn dice roller application. Earthdawn is like Dungeons & Dragons, but for real nerds. The Earthdawn dice system is complex, including a shifting iterated seven-step algorithm for determining the dice rolled for a given action. In addition, dice explode in Earthdawn. That means that if a given die results in its maximum value (i.e. a d6 result is a 6 or a d12 result is a 12), you reroll the dice and add that to the total, continuing to reroll if the die continues to result in its maximum value and stopping when it does not. Plus, you also have the option of adding a karma die (dependent on race, like Elf or Dwarf) to any roll which permits it.

Obviously, this is a complex system, and dealing with the RNG was not the hard part. The hard part was
figuring out the algorithm by which you can calculate the dice you would roll for any given step. For example, rolling a step 10 means that you roll a d8 + d6. Rolling a step 20 means that you roll 2d12 + d10. You can find this on a chart in the 3rd Edition Earthdawn Player’s Guide, but it actually took doing a Taylor series to determine that there is an algorithm which repeats every 7 steps. This means that my app can calculate what you’d roll for a step 63 dice roll, when the book doesn’t provide a chart that high.

I’ve been fiddling with this app for a year or so, and while I’ve been developing the backend in Eclipse, I found that the frontend needed some serious help. I looked around for an IDE specifically to develop the frontend of a Java app, and NetBeans turned out to be full-featured enough to develop in much the same way that I’d dev a C# app in Visual Studio 2010. I’m an old school algorithm coder, and I don’t do as much frontend app development, as opposed to my long term work in
frontend web development. In fact, most of my experience in frontend app development is in VS from 2003 on. So, believe it or not, I was looking for an IDE experience closer to VS.

NetBeans is open source; I found that specifically for the purpose of frontend Java software development, it’s a far better IDE than Eclipse. While Eclipse works better for academic algorithm coding, NetBeans is tailor-made for someone who wants to turn out an app with a backend; in fact, I coded the backend over rather a lot of time in Eclipse to test it with multiple RNGs developed at CERN, Argonne, etc, and simply copied over the relevant classes into NetBeans to hook them up to the frontend. I’d actually recommend this as the most efficient experience if you’re trying to create a complex backend with a simple and effective frontend…especially if you have an app that needs a frontend instead of a script. NetBeans has a simple application package process as well, if you need to pack up the app and send it out. I have
Ubuntu, OpenSUSE, Windows, and Mac users in my group, and Java will execute on each of those platforms.

I’ll also shortly be posting the app so you can examine it for yourselves 😉

Dream gizmos

There’s a refrigerator that runs Linux now. That seems like a bit of overkill to me, but there are a few devices around the house that I think could use a bit of OSS ingenuity.

We have hibernation features for most laptops; is there a way to hibernate, say, a kitchen? Energy vampires like toasters (and I’m only going off of popular rumor, not fact here) are supposed to suck watts even when powered down. Wouldn’t it be handy to run a script that actually interfaces with your house’s power systems? I bet Bill Gates’ house does that already, so it’s time for the NIX crew to get it together 😉

My dream device: A kitchen touch screen computer like this one, but which can also be interfaced with remotely, and which can control the oven, the yogurt maker, the coffee
pot, and the dishwasher. With that, I’d be able to interface my OurGroceries list with the kitchen’s DB on food stores, cook something remotely that requires a long cooking period with changes in temperature over time (like a crown roast), preheat the oven as I’m getting home to throw a pizza in, and which can warn me if the freezer or refrigerator rise above a certain temperature (a sure sign that the cats have found a way to knock open a door).

How about you?