Before reading any further: put on your thick glasses, your pocket protectors, fanny packs, and don’t shower for a week.
I have a distraction issue. Maybe its not officially ADD or ADHD or whatever but it could be construed as such should a pharmaceutical company want it to be. Anyway, I am frequently distracting at work, which consists mostly of programming, both this year and last. I’ve spent hours on wikipedia or *shudder* facebook almost by accident between more important efforts, but I just realized my solution about an hour ago. I’ll outline it.
This is what my desktop at work looks like.
Two absurdly large LCD screens, both one by one and a half cubits (I don’t have a tape measure). Next, I am running Linux on these computers with the multiple workspace feature – 4 per screen actually. So thats a total of 8 workspaces; a total of 12 square cubits of pixel space.
I program in MATLAB, usually with the command line section and whatever code I have open taking up one whole workspace. More often than not, I have multiple copies of MATLAB open as I am trying different things, or running tests. This tends to massive confusion, and I’ve often found myself having no idea what’s going on.
Today I hit on the idea of having a tiny text editor open (this is quick due to the “note” feature I have in Linux) in the lower right corner of the screen saying explicitly what exactly I am doing in the particular workspace. I have 6 copies of matlab open right now, all performing independent tasks. The other two screens are taken up by some file management stuff, and then the last screen is for writing this blog entry. 4 of the Matlab copies are running tests, and the notes tell me which test I am performing. The other two are programming experiments I am toying with to improve our algorithm. When I move to a new workspace, I have a message (written by me) telling me exactly what the hell is going on. I move, godlike, from place to place making a tiny change here and there and I getting more done that I have been in the past week.