In a previous post on GTD at Work I listed a few ways I can keep the interruptions down.
Today I was reading LifeHacker again, and came across their link to this article by Dave Cheong. His article (18 Ways to Stay Focused at Work) was a poignant reminder of how I fare at work.
So far I would say I follow most of his suggestions (in particular items 1, 4, 6, 7, 8, 9, 11, 12, 14, 15, and 17). I always enjoy a confirmation that a method I follow is working. :)
The question of the day is how many resources do you supply yourself with at work? Do you have personally paid for software on your work computer? Do you bring in your own hardware? What about the ergonomics of your workspace? Do you ensure that your space suits you, or do you just use what the company you work for supplies you?
Personally I have provided many ergonomic items for my workspace. I have brought in my own chair, and a special keyboard. I prefer (and need) the ergonomic split keyboard design. Side note: after reading a review of the Microsoft Natural Ergonomic Keyboard 4000 on codinghorror I zipped out and bought one that night. Awesome keyboard. Love it to bits.
I have also supplied some software I have bought, in particular a diff tool called Compare-It.
I used to have a trackpad for the left side of my keyboard that I used in conjunction with a mouse. Someday, if I find a mouse I love and that treats my hand right, I will buy it and take it to work.
One of my co-workers brought in his own flat panels for a while. Very few people in the company had flat panels until recently, and since he had a couple kicking around, and since he loved them so much, he brought them in. Many people were jealous. Jason, for a while, provided his own copy of ReSharper, which isn't a cheap piece of code.j
So, the question I have is, what sorts of software/hardware do you provide that makes your job easier, or more enjoyable? Do you think it is right that you have to provide this? Do you feel that this is something an employee should just do for the sake of employment? Do you think that your employer should provide more of these items?
When testing out new extensions one of the big pains is restarting FireFox after installing, uninstalling, or disabling an extension. RestartFireFox solves this issue nicely.
This may not be an issue for most people, but I have different profiles set up for FIreFox, and each time I start it asks me which one to use (I set it up this way). RestartFireFox bypasses this, and restarts the existing profile. Very nice.
I've been wanting to start a series of posts on what FireFox extensions I find most useful. There are so many varied possibilities, and so much overlap that it is a tangled web that is hard to figure out.
The first extension that I want to highlight I just discovered a couple days ago. Since I have installed it, I have been using it extensively. It is such a simple concept and it just makes sense.
I give you dragdropupload.
When filling in a webform to upload a file you can drag and drop the file onto the form's input box et voila, the box is filled out. No config necessary. It just works.
This past weekend my mom bought a new Logitech Harmony universal remote. It is a pretty fancy unit. Internet programmable, USB upload, controls pretty much every electronic device in your house.
Too bad Logitech totally screwed it up. Way too comlicated to set up. Even for me. I never have problems configuring and customizing software, yet this thing took me over two and a half hours to get completed. The first hour was just getting the software installed. Holy crap.
The first step was to plug in the remote to the computer and have it instal some USB related crap. Then I popped in the install disc and ran the the setup and got the software install going. Next thing I know the remote needed its firmware upgraded. OK. Fine. Go, do it. The firmware upgrade completed, the software install finished, and it was time to configure the remote.
Opening the software it started up and had me create an account on their website. It asked for some irrelevant data like where I heard of them and where I purchased the remote. It was mandatory. Why is it necessary to use the remote control to tell Logitech where it was purchased? I just filled in some randam crap that is useless to them.
When I eventually got to run the software, it checked for a newer version, and found one. It downloaded version 5, but it required that the previous version be uninstalled first. Thankfully the software automatically started the uninstall process. The resulting wizard had 3 options. Install, repair, or uninstall. Of course repair was chosen. Being unsure, I changed the selection to uninstall figuring I could always start over if that messed something up.
Apparently that was the right decision. Version 5 was then installed.
Finally I am ready to start configuring the remote.
I entered all the devices, manufacturers and model numbers, then confirmed each of the related settings (ie watching tv means turn off all other device, set the tv input to be the tuner). I had to confirm the setting for watch tv, watch a dvd, watch a recording, listen to cd, and listen to the radio. Upload the setting to the remote, and away you go.
Except that the watch dvd didn't work properly. I had to spend an hour figuring out that the remote was somehow flipping the tv to the auxilary input, then back to the tuner when going to watch a dvd. A whole hour to figure out how to make the remote use a different command that the tv understands. 2.5 hours of my time spent configuring a damn remote control. To top it off, version 5 of the software was crap. Slow as molasses, counter intuitive, not what I would call user friendly. Lots of time was spent waitng for the program to respond. Version 5 was an ActiveX control inside a branded internet explorer. It was made to look like a regular app, but didn't act like it. Click on next, wait for the refresh. Choose option, click on next, wait for the refresh. Not what you were looking for? Too bad, hit back, wait for the refresh. Too much time waiting for the app to refresh.
Way, way too complicated. Why couldn't the boxed remote and the boxed software just work together. Why did they have to be upgraded right away? Obviously they were released at the same time, so it would make sense that they should work.
Anyway, in the end I figured it out, but I just had to rant about the stupidity of the whole thing. There is no way my mom could have figured that out for herself (she even said so). If she had attempted it, she would have ended up returning it, and most likely would have thought twice about any other Logitech products. A simple concept turned ugly.
I use Eudora for email both at work and at home. Currently I use the sponsored more of Eudora which displays a small that that is easily ignorable.
There are many reasons why I use Eudora, and most of them revolve around useability of the application. I was first introduced to Eudora in University circa 1993. It was all I could use for a number of years, and as a student, the free option is always a good thing.
When I entered my professional career I continued using Eudora, even when the norm was Outlook. I stuck with it because I liked the options, still considered it feature rich, and it allowed me to get my work done.
One feature I like is the ability to detach mailboxes. I am not constrained by my mail application to only see mail in one mailbox. The below view shows 4 mailboxes. The upper left mailbox is my inbox, and I keep this one on top. The other visible mailboxes are current projects I am working on.

My mailbox browser is detachable, and I generally keep it on a second monitor.

This combination allows me to quickly see new email arrive in my one inbox, deal with it, then place it in the correct folder. Email that I want to deal with later gets marked as Unread. This is how I deal with my email, and this is where Outlook fails (and Thunderbird when I last tried it).
In Eudora one of the more powerful features is the filtering options. Below is the filter creation dialog.

One of the filtering features I use a lot is the Manual option for a filter. This allows me to create a filter that only runs when I tell it to, and only on messages that I have selected. Powerful feature. At work I deal with entering bugs for a third party product. Each correspondence with this third party has a bug Id. When I enter a new bug, I create a new mailbox to house email for that bug. When I get email pertaining to that bug I read it, reply to it, then filter this email off to the mailbox by hitting a quick key combo. I do this with the manual filter option. I love this. Quick and easy.
This is where Outlook fails me. There is no option to do this. Filters get run on new mail as it arrives, and email gets shunted to mailboxes (if I set the filter to do that). Now for me to read new email I have to start weeding through multiple mailboxes. No way I want to do that. Too time consuming and too easy to miss a message. The alternative is to let all email arrive in the inbox, and move it by hand. Again, too much work that I don't want to handle.
This week I trialed AutoMate by Pergenex. This was a promising plugin since it seemed to add a lot of missing filtering functionality to Outlook. Sadly it will not help me since I cannot set filters to run only on selected messages. There is an option to run filters after a period of time (no indication of how long this is), but it runs over an entire folder, and not on selected messages.
So, I live on with Eudora. I want to join the Outlook crowd at work since Outlook has an integrated calendar and people at work tend to like meeting requests. This is the biggest reason I want to use Outlook, but its shortcomings prevent me from moving over. I could live with the single monitor constraint that Outlook has, and I could even live with the single mailbox view at a time, but I can't live without my filters.
Just upgraded gf-tech to Drupal 4.7-RC2 to play with it a bit.
The upgrade from 4.6.6 wasn't as smooth as I would like. There were a few DB upgrade issues. One was easy to ignore (Drupal trying to duplicate an alias I had already set up), one was easy to fix (dropping a table column), but the third I can't figure out what it should result in.
ALTER TABLE book ADD KEY nid (nid)
My book table has a primary key on a column named vid. Am I supposed to drop that key and add this one? I had previously turned off the book module. Re-enabling it I can still view the contained content with no errors. I will read up on this later. If I can't figure it out I can always do a throw away install to see what the table should look like in the end, and make mine match.
What do I think of the new install. So far everything feels familiar. The upgrade had some sweet ajaxy goodness when performing the DB upgrades. Nice to see a progress meter when things are working.
Now I am seeing more DHTML options for composing posts. Not bad. I'll have to see if there are settings to keep these expanded all the time.
My theme broke and that sucks. For me that is the biggest pain in the ass for upgrading. Re-working themes can take a lot of time I can't devote right now.
So far so good. More play time is needed though.
When I worked at VoiceMobility I was fortunate to have an office. I loved my office. It was my home away from home. It was my space to work in. It was comfortable. I controlled the lights, I controlled the temperature (to some degree), I controlled the sounds levels inside my office. The most important thing about my office was that it had a door.
When I really needed to get things done I could shut the door, and drown out the office sounds. I could turn up the music, shut out the outside world and concentrate. Co-workers seeing the door shut immediately knew I should not be disturbed.
When I left the voice mob I lost my office. NewHeights has offices for some developers, but not all. Many developers or QA people share offices. I think most software developement offices are like this, and I think it is a shame. Working in the cube that I have is way more distracting. Some days are definitely worse than others. The last few days I have found particularly bad as there have been hallway conversations on the other side of my cube wall. Aside: I need to be more assertive in those situations, and ask the people to move to a meeting room.
After moving to NewHeights I stumbled across LifeHacker. This website is dedicated to helping computer users to avoid the pitfalls of computer related distractions, and to get to the task at hand. It is a large collection of tips and tricks to enable to be "Getting Things Done".
After reading their article titled: Firewall your attention at the office, I have been thinking a lot about this topic. I have followed some of the sites tips, but this article really resonated with me.
Some tips I have taken away from this site are:
1) Automatically checking email happens every half hour. I turned off all notifications of new email (no popups, no sounds). In fact I disabled all "toast popups" that many apps seem to be fond of. I kept the ones that inform me of critical issues. I wish there was a way I could disable the windows system tray popups too. They are very distracting.
2) I use a feed reader to follow webpages and blogs. Only at certain times of day will I run RSS Bandit. This is configured to only update feeds once a day, except for some emergency information feeds, and all my internal to work feeds. While it is not running I resist temptation to start it.
3) I listen to music with headphones (added benefit: partially drowning out background noise). I work better to music, so this is definitely a win-win for me.
4) I use the "busy" status on MSN Messenger, and I set my phone to DND mode when I am concentrating. This doesn't always work as some people still MSN me, or just walk to my desk to ask me a question when I don't answer the phone.
5) I also try to arrive early to work. I find I can get a lot done while most of the office workers are not there. Less people around can only mean less possible distractions. Of course sometimes the resources I need are not there either, and that will always be a problem.
I think my biggest problem is teaching my co-workers. How can I easily (and nicely) tell everyone that when my headphones are on, my MSN is set to busy, to stay the hell away and let me work? Many people at my office don't run MSN, so can't see my status. Others don't phone or email their questions, but instead ask them face to face. I can't get around this one, and this is the most distracting to me (more in a second).
As far as regular background noise goes, this LifeHacker suggests noise cancelling headphones. I am tempted to try it, but the problem I see is wearing those headphones for several hours. I can't wear the ear bud style headphones for more than half an hour any more. How can these be more comfortable? Instead I have a pair of ear muff style headphones whose biggest problem is that my ears can't breathe, and get quite hot at times. Another LifeHacker article has a list of iPod etiquette for at work. Most are good rules (and common sense), but I know I break the one about "head bopping".
So, how do I re-inforce/teach co-workers when they can and can't interrupt me? Wearing headphones doesn't work. Phone on DND doesn't work. Busy MSN status doesn't work. Ignoring them while I concentrate doesn't work. Many of the upcoming interruptions I acknowledge the co-workers presence, but indicate that they will have to wait until I finish what I am doing. I'd love any tips/tricks anyone out there has.
One of my most favorite Firefox extensions is session saver. I read today that session saver has a memory leak. Bummer. Guess that explains some of the poor performance I have been experiencing when leaving Firefox running for a long time. Maybe.
I dumped the Tab Browser Extensions a while ago, and they were way more unstable than session saver. TBE crashed lots, never seemed to work perfectly, but got me to a point where I began to rely on the features.
Now it seems like I have to try something new.
Along comes Tab Mix Plus. I had read about it recently, but hadn't tried it since I had a working solution for my needs.
I am now trying it out on my work machine. So far so good. Since I wanted to make sure I didn't lose anything, I tried the extension on a new profile in Firefox. I created the new profile with the profile manager, then backed up my existing profile using Mozbackup. Again with Mozbackup I restored the profile to the newly created profile name, and voila, a copy of my Firefox profile was born.
I installed TMP, and deactivated sessionsaver. A little configuration later, and I am liking TMP. Looks like we have a winner ... for now.
This past week has been a little stressful at work. I am in the middle of an important project which has a very tight deadline. The last thing I needed was a computer crapout, but that is exactly what happened.
Another person at the office had exerienced a phenomenon where files and directories that their domain profiled owned were being marked read-only, permissions to alter the files were being removed, and nothing they did would fix this. The IT department was stymied, and their solution was to re-install the OS on a new hard drive, then hook up the existing drive as a slave. All files were intact, and there was no chance of whatever was going wrong to repeat.