Nov
14
2008
1

A Tale of Inconsistency

So in the hard times of our economy, companies cut back on non-essentials. We’ve recently gone from two coffee pots to one.* We have anther pot with an orange handle, but I can’t see the logic in drinking from that one. Only one pot means all those snaky people who leave 2oz of coffee for the person behind them holding a 6oz cup are twice as effective. You can no longer combine the two 2oz pots and get a somewhat satisfying cup of coffee.

Yesterday I was the unfortunate one who came across an empty pot. So after mentally cussing out whomever left it, I started a new one and went to the next floor where I was able to grab the last full cup. Yes! Being the good boy I that am I started yet another pot. I reached into the drawer where the coffee is kept, made the pot and started to leave. As I was leaving the room the label I tossed in the trash caught my eye. There was a little flash of green on the package. I went and looked closer. This floor kept the regular and decaff coffee in opposite drawers as the superior floor above. Luckily I caught my mistake, trashed the pot that was already started and made a proper pot. The poor souls who would have failed to receive their liquid wake up call would weighed against my karma.

It holds true in life, as well as programming. Consistency matters. We develop routines that are habitual and difficult to break. Just as the coffee was always in the same drawer, the parameters are always in the same order. Taking extra care to follow some de facto convention could save slip ups like this.

* The reduction was most likely not related to cut backs, but rather just ended up being broken; however, not replacing it may be related to cut backs.

Written by mark in: Nonsensical Rant |
Oct
28
2008
0

The Dvorak Keyboard


I’ve always heard about this mythical keyboard layout that was the apogee of all keyboards, the glowing golden standard to which all others fail to equal, and the other keyboard, designed to be slow and awkward. What might surprise some people is it’s the other, slower keyboard that has sprouted up on desks and laps all over the world and the Secretariat of keyboards never gets its chance to show its true legs.

The Qwerty keyboard was designed to keep the mechanical arms of typewriters from jamming by positioning common successive strokes on either sides of the machine. In contrast the Dvorak keyboard was designed to make the most common letters and
sequences of letters the easiest to type.

While installing Ubuntu this evening I noticed the Dvorak keyboard as an option. Immediately I thought about the several Dell keyboards I have tucked away in drawers gathering dust. Now I love my new slim Apple keyboard, but I’m going to stow it in the drawer for the next few weeks. Tomorrow I plan on laying out a Dvorak and giving it a try. I would like to find a typing speed test and see how it compares to the Qwerty and how it improves over time.

Written by mark in: Nonsensical Rant | Tags:
Oct
15
2008
0

Join the Dark Side of the Force

I catch a lot of grief at work, hopefully in jest, about my non-traditional IDE colors. After reading through some links on A Continuous Learner’s Weblog I stumbled upon a link showing people’s dark IDE colors, so I thought I would post mine. I’ve tried a lot of different IDE colors, but still haven’t been persuaded away from my color scheme.

I stole the example text from CodingHorror. The font is Monaco which comes with Mac OS X, but can also be found for the PC.

Written by mark in: Nonsensical Rant | Tags: , ,
Oct
14
2008
0

Incentivizing Programmers

In most factories, especially those that pride themselves on their safety records, you’ll find a sign that says something like “600 days since our last lost time incident”. We should have the same for our automated build qualities, although I doubt they will ever reach 600 days of consecutive green builds. It would hopefully generate a sense of pride in the build. Imagine if you joined a team that had 60 days of green builds and that number was publicized for the entire organization to see. Wouldn’t you take extra care to make sure you don’t do something that flips it over to red, even for one build?

Gaining momentum behind doing automated build is something our organization is struggling with at the moment. For some reason the value isn’t immediately apparent or the schedules and budgets don’t allow for it at the moment. Both of those are topics for another post. Maybe a component to gaining that momentum is illustrating the elevation and longevity of the quality of the builds. I see two metrics being valuable.

  1. Days of consecutive green builds
  2. Change in the number of unit tests over time

Potentially a third being the number of customer reported defects.

The number of consecutive green builds is important, but if one team is doing nightly builds and another is doing continuous integration, does one team have a significant advantage in quality over another? I would say there is benefit there, but I wouldn’t categorize the advantage as significant. Also, looking at the change in the number of tests provides a better indication of progress than percentage change. Adding a hundred unit tests to a build that already has a thousand is substantially better than adding one unit test to a set of ten. I imagine you’re saying that is still rather subjective because you could have ten quality tests and a thousand horribly simple ones and that’s true, but maybe this isn’t the place to make those determinations. Let’s assume all unit tests are of roughly the same complexity and comprehension.

So here is my question. Would it be valid and beneficial to incentivize teams to improve these metrics or compete against other teams to improve the metrics? In the past we’ve given out $5 gift cards to Starbucks or iTunes when people did good jobs on something, just as a nice “thank you”. Would that work here? Could giving a $5 gift card to the each member of the team that has the longest stretch of green builds or added the most unit tests in the last month help motivate people? Now I don’t expect people to add hundreds unit tests every month to get their free fat free half caf soy carmel white chocolate mocha macchiato (I’m not even sure that drink exists or if would be less than $5 if it did). I’m not saying those are the metrics and the periodicity of the rewards that would work the best, just wondering if the spirit of it would work.

Recent posts by Ayende and Joel Spolsky seem to imply it would fail miserably.

I’m not sure something like $5 will lead teams to work the system just for the reward. Even without the monetary reward the principle behind taking pride in the build quality could established by making an aggregated build report public. Something really public. Maybe a screen when I get off the elevators, or a TV in the lobby that gives some metrics. Let me see who the people are who are writing the most unit test. I’m sure they can answer some of my questions or give me advice. Show me who isn’t building and we can get them the help they need to get it off the ground. There should be something we could do to help.

Written by mark in: .Net, Architecture, Nonsensical Rant | Tags: ,
Sep
25
2008
0

New Book: Cocoa Programming for Mac OS X

I know I shouldn’t be picking up another book while there are still several on my reading list, one I’m still half way through, and branching into a completely new arena at work. The upgrades to the MBP made me consider why I do all my development through the virtual machine and don’t do anything natively. This doesn’t count the time I’ve spent tooling around with another language. Yet another book started, but never finished.

I have no ambitions on reading this right away, but hope to get to it soon, if only in a diminished capacity. There is still the matter of finishing the last book I started.

While at the bookstore looking for something that might help with the new arena, I noticed a book that I couldn’t help but picking up and laugh. Behind it was this book, the only OS X programming book in the whole store. It must have been placed there as joke. 

Written by mark in: Nonsensical Rant | Tags: , , ,
Sep
24
2008
0

Impulsive Upgrade

I’ve just impulsively upgraded my Mac Book Pro. When I bought it I opted to fore go the 200GB 7200rpm hard drive upgrade for the satisfaction of walking out of the store with it that very day. I knew any hesitation may result in financially responsible reconsideration. Good thing I didn’t! I’ve been really happy with the MBP, and dream of replacing my commodity desktop with a Mac Pro, but the same financial responsibility buzz kill prevents it.

Anyway,  after a brief fight with insomnia last night I decided to upgrade the MBP. I’ve ordered the following:

Grand total with free shipping from NewEgg was only $185. Much cheaper than a Mac Pro. The huge hard disk should allow from my XP partition and hopefully an a Ubuntu partition while not feeling cramped in OS X.

My only regret with the MBP is that it doesn’t have a nice dock. I suppose a USB port replicator would work well enough, but it seems like such an unsatisfying solution.

Written by mark in: Nonsensical Rant | Tags: , , ,
Sep
20
2008
2

New Theme

I’m changed my theme to something a little minimalist. Sorry if everyone liked having a choice of their background, but there were a few things I liked about this theme more than the previous one. I also switched to a white background for the text. I was hesitant to do so because I really like the dark code examples that match my color scheme. Hope everyone likes it. There is still some tweaking to do.

Written by mark in: Nonsensical Rant | Tags:
Aug
21
2008
0

Ada Turns 1

Sorry folks, the programming language Ada is far older than one year old, and Ada Byron is even older still, but my baby puppy Ada turns one year old today.

Lovely Puppy

All good nerds, as my girlfriend puts it, has a dog named after a scientist. Doc Brown had a couple, Einstein and Copernicus.

Written by mark in: Nonsensical Rant |
Aug
11
2008
1

Gymnastics Is Like NASCAR

I cannot get enough of the Olympics. I watch whatever is on at the moment, and flip between the concurrent events. When I say anything, I mean anything. I’ve watched badminton, field hockey, even equestrian.

When gymnastics came on last night, of course I watched, but I didn’t know what I was really watching. I decided it was a lot like NASCAR, which made my girlfriend think I’ve lost my mind, but it is exactly like NASCAR. I have no idea what I’m watching, but I know if they crash/fall it’s bad, and I really want to see them crash/fall.
The only differences is I don’t watch NASCAR, but if it was an Olympic event I absolutely would!

That probably seems really morbid or horrible. Really though, it all looks the same to me. I get handball. You put the ball in the net more often and you win. I get weightlifting. Lift more weight and you win. I don’t get gymnastics and equestrian. Seriously watch an equestrian event. It looks like they are walking around in circles.

Don’t get me wrong. I am positive that what each of those athletes do is extremely difficult and I cannot imagine the amount of training, effort and passion it takes to compete at that level. I just can’t see what makes someone better than someone else unless they fail miserably.

Written by mark in: Nonsensical Rant | Tags:

Powered by WordPress | Kredit | TheBuckmaker