Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close

headstak - a stack for your head

It's widely understood that interruptions are the enemy of working effectively, especially in my accidental career as software developer. A while ago I tried to come up with a solution to this problem which didn't involve working in a well designed office environment; the world is too broken to cope with such radicalism at this point. No, we must plod on in our horrendous open-plan, cheap as chips, everyone in one big room, mess.

So in an attempt to make it better for myself I thought of a simple program that would let you keep track of your own work and remind you where you were before the current interruption. So, being a geek, I came up with the idea of a stack for your brain: before you start a task, or when you are interrupted while working on a task, you push the current job onto a stack. When the interruption finishes, or when the task is complete, you pop it from the stack...leaving you facing the job you were working on beforehand at the top of the stack.

It took me a while to get anything concrete down, but there is now a prototype! ATM it's only for Mac users (sorry) but you can download it here.

Run it and it should appear on your status bar as a little stack of stuff on a head. Whenever you are about to start or finish a task you just hit the global hotkey:

Control-Command-0

(that's a zero, not an "O").

Then you hit a down arrow to push a task, at which point you may optionally describe it. Press escape to get rid of the window.

If the phone rings, or someone in your office comes over to talk to you, push a new task.

When the most recent interruption/task is finished, hit the hot key again (Control-Command-0) and hit the up arrow to pop the most recent task.

That's it!

You can push different types of activity onto the stack - at the moment you use the down arrow for a normal task, the left arrow for a distraction and the right arrow for a sidetrack. These are, obviously, arbitrary and ideally they'll be editable. Either way, it all gets logged in a little database.

Ultimately headstak will contain tools for analysing how much time you spend on each type of task in some sort of nice graph or something.

I've been using it in earnest recently and have found it as useful as I'd initially imagined! That sort of thing cheers me up.

Please let me know what you think even if it's negative.

martin A-to-the-T dreadtech.com

Recent activity

Veg Head

Veg Head pushed 1 commit to veghead/headstak

12116ed - Minor refactor. Add menu items for clearing and exporting stacks. Give up on the preferences for now - no time
Veg Head

Veg Head merged pull request #1 for veghead/headstak

Stack was only displaying 5 items even when stretched down the screen - last one was getting clipped - this also keeps the push pop text along the righthand side when resizing

russ216

russ216 created pull request #1 for veghead/headstak

Stack was only displaying 5 items even when stretched down the screen - last one was getting clipped - this also keeps the push pop text along the righthand side when resizing

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.