Archive for Uncategorized

25 Sep 2010

A change in direction

5 Comments Offshoring, Uncategorized

Well, after 16 months of trying to get Overpass up and running as an outsourcing company, I’m going back to contracting.

It’s been fun.  I’ve met a lot of great developers, been to China a few times to meet with software companies, and have worked on projects for small companies here and there.  But my skills as a salesman are terrible—and I hate cold-calling more than anything.  So, it’s time to change direction and get back to doing what I do well.

Even while trying to run my own software business, I’ve continued to code—learning technologies like Silverlight and NHibernate.  The nice thing about taking time off from contracting is that you get to build the skills you want to have, instead of the skills people will hire you for.  I’m my own DIY project and I can never stop learning the new skills.

Getting back to contracting is a big relief to me.  Selling myself (as a developer) has never been difficult, but selling the skills of other developers is tough.

On Monday I start a new contract in Basingstoke.  I’m very excited about it.  My main goal while looking for a contract was to stay out of London.  London’s a great place but I want to get familiar with more of England.  If I can stay away from the crowded trains and tubes, all the better.  I’m starting a four-month contract with a company that looks like it will be a lot of fun.  It also gives me the chance to work from home a few days a week.

It’s a good solid coding job—no offshoring at all.  Also, no mentoring, no team leading, and no budgeting.  It’s going to be great.

Overpass will continue to be a company, but it will be a company of one.

Is this a failure?  Um. . . not yet.

I’m thirty-eight—I probably haven’t even reached this life’s half-way point.  I’m looking forward to the future and am very optimistic about it.  Seven years ago, I was a permanent employee for a tiny company in Reading.  Thirteen years ago, I was a substitute teacher in Missouri and became a qualified to teach high school.  Twenty years ago, I was a soldier learning to speak Chinese.  Who knows what the future will bring?

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to StumbleUpon

01 Jul 2010

Fixed my iPod Nano

1 Comment Uncategorized

Four years ago, my colleagues at BNP Paribas gave me an iPod Nano as a leaving gift.  It worked great and I use it all 2010-07-01 003the time for running.  I have a big iPod Classic too, but this little 1Gb gadget is perfect for my runs (since it has the flash memory and I find it easy to navigate the music while running than I did when running with an iPhone.

The problem is that a few years ago, after running with it through the rain, the click wheel stopped working properly.  It works eventually but you have to fiddle with it.  For example, the menu button wouldn’t work until you clicked it about 5 times.  It was annoying, but I learned to live with it.  I thought about replacing it, but it hardly I couldn’t really justify the expense to myself to get a new one.

So the other day, I stumbled upon some videos on how to fix various problems with iPods, iPhones, etc.  Since my Nano was probably way outside any warranty anyway, I decided to fix it myself.  Around my house, I’m known for fixing things and making them worse (like flooding my own kitchen or making a small leaky tap to a large leaky tap), so it went against my better judgement—but I tried it anyway..

I bought a new click wheel for £3.99 from http://www.appleiphoneparts.co.uk/.  It was tiny and it came in an envelope the next day.  They have loads of parts  I also bought a iPhone toolkit from E-Cell on ebay (http://stores.ebay.co.uk/E-Cell-Global) for £2.95.

I then watched a video made by  DigiExpress in the US (http://www.digiexpress.us/) which walks through how to replace it:

 

I had to pause this video loads of times at each step, but I got it to work.  It took me about 20 minutes.  My 4-year-old Nano is just like new. When the battery goes out on it, I will be able to replace that too.  I’m chuffed about saving some money by fixing myself, but I’m more pleased that I didn’t have to add yet one more piece of technology to a landfill somewhere.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to StumbleUpon

29 Jun 2010

California weather in England

1 Comment Uncategorized

The weather here in Oxfordshire has been fantastic the past few weeks.  It’s not like English weather at all, but a lot more like the California summers I’ve grown up with.  The weather has been sunny and about 80 degrees Farrenheit.  The other day while I was driving with the windows down in the car and the music blaring, it reminded me of taking long drives in the States—except that I was sitting on what should have been the passenger seat and driving in the lane that should have had oncoming traffic.

One of the things people ask me a lot (during small talk, of course) is if I miss the California weather.   I do, but not so much.  One thing I’ve found since moving here is that English people are a lot more concerned with the weather than people who grow up in California.  The weather in San Diego was always nice, so there was never a need to chat about it.  Sometimes it rained, but not so often.  In England I can see why there is an obsession with weather.  It’s not that the weather is rainy all the time, it’s just that you get a lot of gray, bleak, days.  When the weather is nice, you feel like you need to really enjoy it.

When it’s 80 degrees, people start to complain about the heat.  It’s too hot to do anything.  I’ve lived in Texas for a few years—now that was heat.  I worked at Sea World of Texas in San Antonio through the Summer where every day reached over 100 degrees.  But after living in the UK for the past 12 years, this weather is too hot.

The past few winters have had record snowfall and it has nearly closed London.  But it’s nothing compared to the times I’ve visited Minnesota in the winter.  But the infrastructure here is not geared for extremes in weather.  Most homes don’t have air conditioning and most towns don’t have many snow ploughs.

This weather will end soon, but I’m enjoying it while it lasts.  As I write this, I’m sitting on a blanket in a part watching my kids play in park sprinklers.  Life couldn’t be better.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to StumbleUpon

22 Mar 2010

Reading Half Marathon

4 Comments Uncategorized

Yesterday I ran the Reading Half Marathon for the second year in a row.  My time was not great.  I came in at 2:03:47.  Last year I came in at 1 hour 54 mins. 

My problem was that I started at a really good pace—too good.  I couldn’t keep it up.  I was fine up until the seventh mile when I the little voice that was urging me to walk for the previous two miles finally won over.  I stopped and walked for a few minutes.  Every time I started up after that it was difficult.  It’s funny how much psychology is involved in running these distances.  If I had better music on my mp3—something that let me think about other things than running—I may have done a lot better.

Last year, I trained a lot more.  I’ve been running regularly, but usually doing only 3 or 4 miles three times a week.

It’s funny being the walker.  The guy who just gives in.  Some people patted me on the back and they ran past.  The people cheering at the side of the road were saying “come on, you can do it.”  I even started to fake a limp just so they would think I was running through an injury.  When I started running again, my legs felt awful and stiff.  My feet pounded the pavement even harder than they had just a few minutes earlier—like the cushion had disappeared from my running shoes. I had the same problem when I ran the Honolulu marathon back when I was 22.  Never stop running!

Still, I’m happy with my time.  I didn’t walk that much.  2:03 is not bad.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to StumbleUpon

08 May 2009

Log Everything – do it for your support people.

No Comments Uncategorized

I’ve worked on a lot of systems over the past 11 years.  I heard the same discussions.  I heard the same arguments.  I’ve heard the same excuses.

One the issues that always seems to be in contention is how much a web application should log about user activity.  My stand has always been “Log everything you can about what is going on.  The only reason you should cut back is due to storage limitation.”  For some reason, this always causes arguments with my fellow developers.  (It ranks up there with the statement “Our app should be cross-browser compatible.”)

One of my big problems with applications written by junior (and some senior) developers is that they don’t log enough.  On a development machine or server, logging is not really needed—you can set a break point or log onto a server to see what’s going on.  In a production environment with tight change controls, this is not possible.

I’ve looked after third-party software applications in large companies which would routinely fail.  The company would spend a fortune for a software package from a small start-up no one has heard of.  We get this software, install it on our servers and before long, we have our first exception.  Angry users call me.  I call the vendor:

“We are getting an error number x00012012928 when click on the save button.”

“Hmm. What happens when you click on the popup?”, he asks.

“The application crashes.  Now no one can log in.”

“Can you check to see if the server is still up?”, they ask.  This is when I glean that he doesn’t really know what’s going on.  He’ll ask for a reboot next.

“The server is up.  I can still get to the web pages. But no one can save anything.  Can I talk to the developer.”

“I am the developer” the snooty developer replies.

“Okay.  So why is it doing this?”

“Oh.  Umm. . . .  It shouldn’t happen.”  Yeah.  No sh*t.

“What is x00012012928?" I ask trying to move things along.  “It looks like an internally generated error number.  A description of the error would have been nice.  I’ve checked event viewer but see nothing.  It looks like the exception is being caught, but not handled.  What would generate this number?”

“It could be a number of things . . . “  This is the wrong answer.  If you are going to raise your own errors, be as specific as possible.  You can’t anticipate every error, but you can differentiate between db or web error for example.   This conversation goes on and on where eventually I need to get someone with server admin rights to send him an IIS log so he can review it for a few days.  Meanwhile, I have to try to calm down an angry user base and continue to chase the vendor.

I’ve been in the above situation at least a half-dozen times in different companies.  It most definitely is not an exaggeration.

I like to contrast this with a friend of mine who wrote an application where he logged everything.  He kept log files as text files in a web root where he could access them securely with .htaccess rights.  Every day, a new file was generated and files over 30 days old were deleted. 

One day, he got a call from an irate user.

“I’m trying to use this rubbish application and it isn’t working.” angry user yells.

“I see. What is your username?” the developer calmly asks.

“John_Smith”

“I see you logged into the application 3 times today.  Did you get an error every time or just the last time.”  Already the developer with logged activity at his disposal knows more about the user’s problem than the user knows.  If there was an exception, he would have been able to see it in his logs.  If there is no exception listed, he can view user activity.  “I see the last page you accessed was the transaction details page.  Is this where you get the error?  Can you describe it?”

“The button does not show up to save the data I entered,” the calmer user explains.

“I see.  This is a common problem.  You left a mandatory field out.  You should see it highlighted in red.”

“Oh yes.  I see it now.  How did I miss that?  Thanks.”

So the developer had 3 things working for him:

1.  He had more information at his disposal than the user had.  He could identify an exception or user error.

2.  He did not try to make the user feel at fault when he clearly was.  (“This is a common problem” may necessarily be true, but there is no better way to put someone on the defensive than to accuse them of being wrong)

3.  He spoke in a calm, unassuming, and sympathetic voice.  A user can quickly tell whether you are doing everything you can to help him or if he has to try to prove to you that his problem is real.

So, I’m always in favour of extreme logging.  I hear the same excuses every time why this can’t be done.  “It will take up too much space.”  “It will be too difficult to clear down.” “Nothing should go wrong with the application, because we tested it.” “We will log the exceptions.  That’s all we need.”

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to StumbleUpon

20 Apr 2009

Decked out in the Gear

No Comments Uncategorized

In London you see a lot of guys with fold-up bikes.  They’re pretty cool.  Kind of like laptops for bikes I guess.  You can take them anywhere.

But nearly every guy I see with the folding bike is decked out in full cycling gear.  I don’t just mean the helmet (everyone should wear one).  I mean biking shirt, spandex trousers, shoes, etc.  They are obviously on their way to work and they are being healthy.  I have no problem with that.  But if you are going to ride a half a bike, shouldn’t you wear just the basics in clothing?

Before I bought my motorbike, I was looking to buy a scooter instead.  They look small and fun and easy to zip around in.  I’ve rented them in Hawaii and it was really nice to cruise around with the wind in my hair.  But helmets weren’t required there.  It was half a motorcycle, so it didn’t require a full motorcycle safety commitment.  In England there is a helmet law. When I saw that I would have to wear the full garb with a scooter that I would on a bike, I decided to get the full bike.  (I’m really glad I did, by the way.)  I guess I kind of think of fold-up bikes as the pedal equivalent of scooters.  I’ve never ridden one, so I’m in no way an authority.

I guess I’m guilty with this over-dressing when it comes to running.  Back in my early twenties, when I had little money, I can remember looking at special running shirts which removed sweat from your body and dedicated running shorts which fit the contours of your legs and marvelling at how expensive they were.  There was nothing wrong with my ratty-ass cotton t-shirts and shorts.  This high-tech gear didn’t help that much—the important thing was to get out on the road.  I used to snicker at people who wore that stuff and obviously didn’t run very often.  Now, I have a few running shirts and a couple pairs of those shorts.  I head out in the morning looking like an Olympic athlete in training – except for the belly of of course.  I don’t know how much the gear helps me.  It’s more for motivation than anything else.  Sometimes, that one thing that gets me out on the road is the chance to test out my new shorts or see how comfortable my new running shirt is.

Maybe that’s why the portable bikers wear it.  Because it was fun to shop for and it keeps them on their bikes.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to StumbleUpon