Please visit crmscape.blogspot.com which is my blog aimed at serving the CRM development community.
Ergonomics with a Laptop Centered Office
Published August 2, 2008 Software Development Leave a CommentRequirements: I am away from my home office enough that I needed a laptop as my primary computer, but I don’t jet around enough to require me to compromise on a smaller model. With the center of my office set, I then need to get everything else set up. There are lots of things to consider when you spend large chunks of time in front of a computer. Screen size, viewing angle, keyboards, mice, chairs, desks etc…
Here is what I settled on and why.
- Chair: It is likely that this chair will outlive everything else that I recently purchased. It is also a critical part of your office ergonomics. I settled on a Herman Miller Mirra in its fully featured version. It is incredibly comfortable and adjusts in about anyway you can think of and a few you probably didn’t. The best way to describe this chair is that you completely forget about it once you get past the initial wow phase.
- Keyboard: Microsoft Natural Ergonomic Keyboard 4000 this an absolutely love it or hate it keyboard. Either you like split keyboards or you don’t.
- Mice: This is also a very personal matter. I use two mice. The Microsoft Comfort Optical 3000 is a traditional mouse and stays in my computer carry bag for use when I am using my laptop’s keyboard. My other mouse, an Evoluent VM3R2-RSB Vertical Mouse 3, is very different. It is tall and your hand just rests on it vertically. This compliments the Natural Ergonomic Keyboard which I like with the front riser piece in place. I prefer not to use cordless mice or keyboards. I don’t like having to replace batteries in anything and I don’t like additional points of failure. I’ve tried trackballs and Microsoft’s Natural mouse and they just didn’t work for me.
- Monitors:
- My big monitor is a 1920×1200 24″ DELL 2408WFP. In my opinion this is one of the best monitors on the market. For starter’s at 24″ it still rotates, which I actually use once in a while. I’m also into photography and it has one of the largest color spaces available on any monitor, and it also has built in CF and xD/SD/MS/MMC card readers. I’m also into video and it can double as an HD monitor as well as being a USB 2.0 hub.
- My second monitor is the 17″ monitor on my laptop and with 1920×1200 resolution it has screen real estate. However I had to go for the standard WUXGA screen with less color space than the TrueLife because the TrueLife LCD panel is like a mirror and if you ever have to give a presentation in a board room or work in any area with glare it is nearly unusable.
- Docking Station: Dell D/View Notebook Stand & D/Port Advanced Port Replicator. This allows me to keep my laptop monitor at the same level as my 24″ monitor, and allow me to get my keyboard in closer. Obviously these accessories will vary by laptop brand.
- Foot Rest: This works especially well if you have your chair set to a high position. I have something “like” this but mine rocks helping to stretch my calf muscles while I am seated.
- Table: Just has to have enough horizontal space and be within the realm of adjustment for the chair
- Music: Total BitHead USB DAC/AMP and AKG 701 reference headphones. The combination is just breath taking. It would take many thousands of dollars in high end stereo equipment to come close to the performance of this pair.
How it all fits together.
My notebook stand is jacked up about as high as it will go, as is my 24″ monitor which end up with screen tops nearly even. The 24″ display is tilted backwards a bit and my laptop screen is vertical. This has to do with viewing angles and keeping the screen surfaces as equidistant from a central position. My keyboard is arranged between the monitors with the mouse right off the end of the keyboard. My chair is adjusted with the arm rests up high enough to support my elbows and rest the heals of my palms on the keyboard without bending my wrists. My foot rest is adjusted to allow me to rock back to stretch my calves.
Paid to play Foosball ?
Published March 1, 2008 Software Development 1 CommentTags: Foosball, office, Software Development, sports
It’s interesting to see the reactions of people when I mention that I play foosball at work. Many seem to think that this is a waste of time during work hours and can’t believe that my employer would support this. Others mention that they would love to work for an employer like mine. Foosball does have a following in the engineering and software community for good reason.
Most employers recognize that many things are important to to productivity. For software engineers things like screen realestate, and computer power come to mind quickly followed by ergonomic concerns, like ergonomic keyboards, and adjustable supportive chairs.
These are important things, but you can still get tunnel vision staring at a computer screen all day.

What many people don’t seem to realize is that much of software engineering comes in spurts. Sure we can write code all day, but we have very different levels of productivity during the day. My peak time is the morning. Let me solve the big problems before lunch and schedule meetings after lunch. I know other software engineers who barely function before lunch. The key is that there is creative problem solving time and “coding” time when you are just filling in the blanks.
What also isn’t well understood by others is that our productive time is an order of magnitude more productive than our less productive time. If there were just a way to add to the productive time… A little foosball can refresh your mind, get a little adrenaline going and help keep you in the zone a little longer.
What does Foosball in the work place actually accomplish?
It is also great for morale and for some it is a way to blow of steam. It can energize you, and get you to focus on something besides your screen for a while. It allows you to form additional relationships and is a way for the new guy to meet people outside of the projects he is on.

Why foosball? There are obviously many other indoor activities to pick from.
-
It takes up little floor space and 4 people can play at once.
-
The games “generally” go very quickly.
-
It doesn’t require you to be an athlete to enjoy.
So you are interested and want to know what to get.
You might get a cheap table to test the water, but the game play much less enjoyable. The table will be light and move around a lot. It may not be adjustable to keep level. The players aren’t balanced and the bearings wear out fast making the rods stick. Also the table surface will tend to be flexible and will warp with time. Still you can test the water to see if there is enough interest in your group.

The table above was completely warn out in about 3 months.
The amount of abuse a Foosball table takes is amazing. What you want is something well built and servicable. If you have the budget I would recommend a Tornado T-2000. For a chunk less money the Tornado Cyclone has the same playing surface but is lighter. I found my T-2000 coin op at a local bar that was remodeling and getting rid of the table. The table cleaned up really well, and all parts are readily available. Also get a maintenance kit ( pin tool, Bearing Nut Tool, replacement players, replacement pins, silicone lubricant )
Happy Foosing !!!
Future Shock – Convergence – Man Moment Machine
Published February 12, 2008 Uncategorized Leave a CommentTags: Convergence, future shock, man moment machine
Those of us in technical fields are well aware of Moore’s Law, but what we don’t often think about is what happens when many technologies following Moore’s Law combine together. At MS Convergence 2007 Joel Barker gave a keynote about innovation at the Verge, and explained how most recent break throughs have to do with using existing ideas for different solutions.
So on one hand we seem to have everything getting more powerful, cheaper and better. On the other we have reuse of existing ideas in completely different applications. With the Internet allowing an almost limitless amount of cross pollenation between different industries this is all happening at an amazing rate.
With all the news stories about how we are destroying the planet it is nice to see hope as well.
Let’s look at one big issue, Energy.
Problem: We are using energy at an ever increasing rate with many negative effects ( we won’t go into all of those )
Examples of solutions that are converging and add up to something bigger:
Power Efficiency: Electronics are starting to become greener and are using less power. MIT is working on .3 volt technology that could drop power usage of many electronics to a small percentage of what they are today. ( This is future tech )
Power Storage: Recent nanowire technology should increase Li battery capacities by an order of magnatude using existing manufacturing techniques. (think 50 hour laptop batteries) ( This is moving to production rapidly )
Power Generation: Ink Jet technology has been adapted to create continuous roll solar panels that are both cheaper to manufacture and create much less hazardous waste than conventional solar panels do. ( These are now in production and sold out for at least a year)
Man Moment Machine: The idea is that it takes a man with vision, a moment in time where the technologies make something feasible and the time is right for that ideas acceptance so that idea becomes a reality. Tesla’s new electric car is an impressive example of multiple converging technologies that solve a lot more real problems than may at first come to mind. It is a man moment machine.
Here are a few problems addressed by electric cars:
1. We hemorrhage massive ammounts of unused electricity every night. Baseline coal fired plants run at full tilt 24×7.
2. We are running out of oil.
3. Pollution
4. Dependency on the Middle East for oil.
5. Hazardous waste generated by car waste fluids
6. Long term car maintenance
Let’s start with our wallets because when something makes economic sense it happens very quickly.
1. Cheap fuel: Electricity generated at night is extremely cheap because it goes unused. As a fuel source it is much cheaper than gasoline, E85 and hydrogen. The Tesla Roadster can go about 250 miles for $5 in electricity.
2. Pollution: Electric cars create no additional emissions if they are topped off at night. The baseline plants are going to run all night whether we use that energy or not. We could currently move the entire country to electric cars without adding one additional power plant. ( This is pretty scary to the Oil Companies! )
3. Power costs: Because the utilities are not paid for this wasted power every night, once they get this additional revenue stream, overall power rates are expected to drop. Remember since deregulation they compete for producing the cheapest power. Also Tesla is working with Power Companies to create a control system so that Tesla’s can automatically charge from the grid when there is excess. ( In over simplified terms think of cars plugged in all night, but some charging between 1AM-2AM and others between 2AM -4AM, to better use the excess production.)
Now let’s talk about maintenance.
4. Electric cars dramatically reduce failure points: Exhausts, catyltic converters, spark plugs, oil pumps, water pumps, starter motors, fuel injectors, fuel pumps, belts, hoses, most seals and most gaskets are a thing of the past.
5. Hazardous Waste: Think about all the oil and coolant that leaks from cars in your garage, on the roads and in parking lots and that has to be disposed of or ideally recycled.
6. Lower overall maintenance: regenerative breaking saves break pads and rotor wear.
7. There are no oil changes.
8. The entire motor weighs about 80 lbs and is the size of a watermellon, so an average person could actually replace one without a winch. In fact routine maintanence is basically reduced to tires and windhshield wiper fluid and blades.
The Tesla is a true Man Moment Machine and the whole concept was created at the Verge. Silicon Valley engineers applied technology outside the norm for the auto industry, but in the end used much existing technology in different ways.
As any 1.0 release, the Tesla isn’t perfect. It is using battery technology that is just barely acceptable that requires a cooling system, which is likely to be unneccessary with future batteries. Luckily, there have been many major breakthroughs with lots of parallel development of competing technologies that should see production over the next few years. These advances are expected to drop costs, increase capacities and the longevity of batteries.
The electric car is also being validated by the other auto manufacturers. Subaru and Mitsubishi are expected to introduce electric cars in 2009, but they will be small and have limited range. Toyota and GM are working on plugin electric hybrids allowing people to commute (40-50 miles) without using gas, but allowing gas operation for longer trips. Honda claims to be working on something as well.
Economics are such that once something is an obvious improvement and is affordable, change happens very quickly. We can expect this to happen in the near future.
As with every new sweeping change there are companies that stand to loose and will fight change unless they can gain from it. There is a huge trickle down.
a. Oil companies are doing their best to try to hang on to a huge distribution network by pushing fuel cell technology. Unfortunately, hydrogen is terribly inefficient to produce, and would require a huge infrastructure to transport and store. The cheapest fuel cell car in production, Honda’s FCX, costs nearly 1 million dollars each to produce. Auto manufacturers agree that fuel cell technology is still at least 20 years away.
b. The manufacturers of oil filters, exhaust systems, spark plugs etc. are going to see their market dry up.
c. Auto mechanics are going to still have to deal with collisions, suspensions, and some brake work, but their work will dry up substantially.
d. Corner Gas stations will become prime real estate.
QA vs. “If it compiles it should work.”
Published February 4, 2008 Software Development Leave a CommentTags: QA, Software
I recently returned my truck to the dealer for the same repair FOUR times. In the end this made a compelling case of how QA can save a company money, by showing how much money my dealer lost by skipping QA.
It is probably worth noting that mechanics are paid book rates for a given job. A good mechanic may finish faster and can make more money in a given day. Unfortunately, this sometimes leads to mechanics rushing things.
Apparently my mechanic believed if it bolts up to the engine it should work (If it compiles it should work.)
Trip to the Dealer #1:
Problem: It leaks coolant, and is getting worse. ( How about a memory leak analogy? Sounds good to me. Let’s go with that!)
Dealer Diagnosis: Looks like it’s leaking from the thermostat and water pump. ( I see a memory leak)
Action: They bolted on a new thermostat and water pump. ( I changed some code)
QA: None. ( I’m that good!)
Dealer Comment: It may drip a little coolant for a while. ( Yeah there’s still a mess, but I don’t need to check to see if I got the big memory leak. I’m sure I got it.)
Trip to the Dealer #2:
Problem: There is no heat ( Hey, the program is locking up now! )
Dealer Diagnosis: Bad thermostat ( Lookee here, that line of code I wrote doesn’t work and caused a new bug. Changing spaghetti code is always creating new issues.)
Action: They bolted on a new thermostat ( Let me fix that for you real quick. )
QA: None. ( There ya go, it’s all better, really!)
Dealer Comment: You should be all set now. The temperature doesn’t read very high, but it’s giving you good heat. It’s probably the sensor. ( Forget those compiler errors and exceptions. Most of those exceptions can be ignored. Don’t pay any attention to them.)
Trip to the Dealer #3:
Problem: It dropped all the coolant in the reservoir over the weekend. ( New memory leak from hell! )
Dealer Diagnosis: Bad radiator ( Look there are a few other lines of code I missed.. Hard to see with all the nasty code around it. )
Action: They put in a new radiator, which the mechanic then jury rigged by drilling holes in it and bending the attachment plate to and fro. Then they pulled up the sagging shroud and used zip ties and off angle screws to hold the shroud on. ( While I was fixing this, I screwed up your UI, but I saved you a few bucks!)
QA: They washed all the coolant out of the engine bay and were sure there was no more coolant leak. ( I’m tired of seeing you so I’m going to make sure I fixed the initial problem, even if I’m only hoping the original functionality is still intact.)
Trip to the Dealer #4:
Problem: The temperature is all over the place and doesn’t seem right, and I’m pretty unhappy about the mangled mess under the hood. ( It’s still hanging on me, but in new mysterious ways! Why is my UI screwed up? When did I authorize this? )
Dealer Initial Question: Isn’t it giving you heat? ( I don’t believe you or the warning you are seeing. )
Dealer Diagnosis: They finally do some testing. The temperatures measured in different places are all wrong. They suggest that they may have the wrong water pump on the truck, and suggest that I shouldn’t drive it like this. ( Hey look there is something else wrong, and it’s pretty bad. We better take care of this.)
Action: They replace the waterpump for the second time, the thermostat for the 3rd time, the radiator for the second time and they give me a complimentary shroud. ( It takes a complete rewrite of the code because they didn’t set up unit testing or have anyone willing to test it. )
Their Extra cost:
1 radiator & installation – they mangled the first brand new radiator
1 shroud & installation – They mangled the original
1 water pump & installation – They installed the wrong pump
1 or 2 thermostats & installation – The first was supposed to be bad, the second who knows?
4 complete coolant changes
Overhead of getting the Service Manager involved – priceless…? maybe not!
Losing a customer who also wasted a lot of time.
End result: The truck is finally fixed correctly, but they wasted an enormous amount of unnecessary effort, wasted perfectly good parts, lost money on the job and lost a customer with an old used truck that needs work more frequently these days. ( We finally fixed the code at a great development cost, and on top of that we lost a chunk of our customer base and will have less future income because of that.)
