Archive for October, 2006

Todo app

October 31st, 2006
[ Geek ]

I signed up for the trial of Mark Hurst’s gootodo yesterday. I just paid for the upgrade today. The 10 todo limit is a joke and makes it practically impossible to truly test the app. The good news is that at $3 a month, paying for a 6 months ‘trial’ is very affordable.

Obviously I like it so far. Very simple app that works quite well. The email integration itself makes it very painless to use, allowing you to simply send your todo’s as emails to addresses like today@gootodo.com, tomorrow@gootodo.com, dec25@gootodo.com etc.

Selling Out

October 30th, 2006
[ General ]

It’s official. I sold out for a windows mobile device. I don’t think I have a real need for a mobile device of any kind but it all happened so fast, we were young, it was a crazy time, we were all experimenting.

Anyway, hyperstrike is sending me a Dell mobile device in exchange for a 15 minute phone interview, they’re calling today. I think that means I’ll be featured in their November newsletter, this could get ugly. As everyone knows, I really am the poster boy for fitness.

Today’s bloodletting

October 25th, 2006
[ General ]

Bloodletting, as the name indicates, was the practice of letting blood out of the patient in order to cure them. Quote from wikipedia:

George Washington was treated in this manner following a horseback riding accident: almost 4 pounds (1.7 litres) of blood was withdrawn, contributing to his death by throat infection in 1799.”

In the context of today’s medicine, it’s difficult to imagine draining the blood out of someone to cure them for falling off their horse. So my question is what’s our bloodletting? What are we doing today which tomorrow’s generation will look back on in disbelief?

Guru’s

October 25th, 2006
[ General ]

An interesting Pfeffer/Sutton quote:

“The business world is among the few places where the term guru apparently has primarily positive connotations. In religion and politics, gurus are portrayed as extraordinary but often dangerous leaders, who attract fanatical disciples who bend to their wishes, even when doing so harms themselves and others.”

The business and technical worlds I’d say.

Renting Coders

October 25th, 2006
[ General ]

Apparently there are some issues with renting a coder. As it relates to us, it’s the recommendations that I found interesting:

“Instead, I recommend that you find a coder that you can work with by assigning small jobs to that coder and begin to develop a relationship with that coder outside of RAC.  Once that trust is developed the coder will do a much better job because they are not being gutted by the RAC commissions.”

Or you can talk with us. We can bring a lot of the benefits of services such as rent a coder along with having done all the above already.

Grading Employees

October 19th, 2006
[ Office Gossip ]

If you know me personally then I’m sure you’re shaking your head at this title, as in here we go again. I’m a relatively outspoken advocate against the entire model of grading employees, and for that matter possibly students as well. I’m not avoiding hurting any previous egos and I’m not opposed to firing employees or failing students.

If you’re grading employees then you’re basically following the model set out in the school system. It works in assessing students, most of our people were students, therefore why shouldn’t it work for grading our employees? So you start giving your employees grades for participation, client satisfaction, etc.

Let’s assume for now that grading students actually works, I’ll leave that one to Alfie. The main reason it doesn’t translate to the work environment is simple. In school you are independent and for the most part you succeed or fail based on you and your actions. Sure there’s group work but that’s a farce at best.

In contrast, work, and success in business, is highly interdependent. You are dependent on others actions and help in order to accomplish your job. A company only succeeds if everyone, or the majority, succeeds. Who cares how perfect your ’scores’ have been this year if you show up to locked office doors tomorrow?

If you’re hiring recent graduates this is, in my opinion, one of your biggest tasks in terms of their development over the first few years. That is, break them of the independent success model that they’re accustomed to, having spent their entire lives in it. It’s why I’m always hesitant to hire people who did very well in the school environment straight out of school. I’m not suggesting they can’t florish in the interdependent work environment, just to keep an eye on it and help them out with it.

Playing tag banned

October 18th, 2006
[ General ]

Ok, this is non-technology related so apologies if you’re only here for the geek stuff. States are now banning tag. That’s tag as in “you’re it” tag. It’s now too dangerous for our children to play tag, and I thought mandatory visors in hockey was stepping over the line?

I was kidding at the time but how far are we from suing nature?

Parent’s are worried about the “near collisions” they witness when kids play tag. Well get ready for the panic attacks that accompany watching your 25 year old walk a downtown sidewalk for the first time after spending their entire lives protected from ever colliding with another human. Going through that first one at 25’s going to hurt.

We really may be losing our collective minds.

Exceptions and Return Codes

October 18th, 2006
[ Software Development ]

The religious argument of exceptions versus return codes comes up more often than I honestly thought it would. Maybe I’ve been isolated in my exception based cave all this time?

I’ve travelled a path that started out return code based by virtue of being in the early Microsoft web days. I then came out of the return code forest onto the exception path. I personally prefer the exception path, unfortunately it seems that people in the return code forest like to climb the trees and chuck rotten apples at us clean living exception path people trying to mind our own business.

My personal take? This is one of the few topics I don’t see eye to eye with Joel on. Apparently I’m not alone on this.

I also agree with Raymond that exception based code is more difficult to write well. So is raising three children instead of one but that doesn’t mean it’s to be avoided.

Is it simpler to write return based code? Yes. Does it sometimes require more design, more thought to write good exception based code? Yes. Does that convince me to revert to return based code? No. Is this writing style of asking myself questions lame? Clearly.

The whole ‘using exceptions for business processing’ argument always comes up as part of this. My rule, which is relatively standard, is the 70/30 rule. Exceptions should be returned from a method no more than 30% of the calls to it. More than 30% means it is no longer considered an exceptional situation and the code should be tagged for refactoring.

It’s actually kinda simple, only throw exceptions in exceptional situations, it’s built right into the name. Sometimes you won’t know what that is until you get an application into production which is where the 70/30 rule comes in. Do your best, profile, refactor as needed.

If you follow the 70/30 rule then it means that the whole performance bogey man doesn’t exist. The point of exception based code is that everyday typical processing doesn’t encounter the overhead of throwing exceptions and therefore doesn’t suffer from any performance hit. If you’re throwing exceptions from a method for 50% of the calls to it those cases can’t really be considered exceptional cases can they? Ie, you’ve written poor exception based code. That’s fine, fix it, don’t give up on the entire concept.

Feeling Business Revisited

October 3rd, 2006
[ Office Gossip ]

I was talking to a younger colleague recently and he mentioned the Feeling Business post. He’s a recent graduate working at his first job, getting married this summer, just bought their first house. He mentioned that he didn’t think he could handle the part where you don’t get paid until the client pays. He doesn’t have that type of ‘wiggle room’ in his budget.

It’s always interesting to hear first hand what people take away from the things you write. He rightfully noticed fear as I was focusing on that, possibly too much. The real history, however, is that our client’s have a basically perfect track record when it comes to paying. We have some late payments, usually nothing more than thirty days, but that’s expected. Ultimately our client’s have a stellar track record when it comes to compensating us for what we do for them.

I have a house, student loans, more debt than I care to think about, and two young children. I think I have a decent argument for having little to no wiggle room. If I don’t get paid there’s at least four people directly impacted.

Bottom line, working in a model like ours provides the opportunity to get an on the job MBA. It may hurt some days but it’s better than paying gazillions to sit in a room and talk about running businesses, in my opinion.

Social wifi

October 3rd, 2006
[ Geek ]

While I’m not running around to get it setup, this is a great idea. It’s a simple concept and leverages the fact that when we’re on our own networks at home, we rarely require it’s full resources. When we’re out in the world, generally we can see someone’s network and they’ve probably got bandwidth available. So why not share your network with people willing to share theirs?