Overpass Experiences The Eric Wroolie Blog

8May/090

Log Everything – do it for your support people.

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.”

Filed under: Uncategorized No Comments
20Apr/090

Decked out in the Gear

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.

Filed under: Uncategorized No Comments
14Apr/091

#1 Commuter Tip: Sit next to the sleeping guy

I’ve mentioned this on a previous post but I’ll take some time to elaborate a bit here.

Every train commuter wants to sit with a vacant seat next to him.  Sometimes, that’s not possible.  So the next best thing is to sit next to someone who is sleeping.

Frequently, I get on a train and see loads of seats, but all of them next to someone.  If there is one seat available only, it’s a no-brainer—take it.  But when there are loads of seats, you got to choose.  Everyone watches you to see where you are going to sit.  No one wants you to take their prized vacant seat.  They try to use tricks like sitting in the aisle seat because you probably wouldn’t bother asking them to move so you can squeeze in there.  Other people put their bags on the vacant seat.

Here are some things to look for:

1.  Never sit next to the guy reading the paper.  He will be elbowing you every few minutes as he turns pages.  He’s probably snooty anyway.  When they announce a delay because of a signal failure, he’s the guy who will huff and puff the most.

2.  Avoid sitting next to someone in their early twenties.  They may not be on the phone now, but it’s coming out within the next 5-10 minutes.  I know very few people I can call at 7am on a weekday.  People in their twenties know loads.

3.  Avoid sitting next to a non-commuter.  They may try to strike a conversation with you.   You just want to listen to your iPod and get to work.

4.  Find a sleeping guy (there’s always at least one).  Sit next to him.

The sleeping guy is great.  He doesn’t care what’s going on.  He will occasional jolt up and look around to see what station we are stopping at, but then he will calm down and drift back off.

The sleeping guy doesn’t care what you are doing on your laptop.  As I type this, the guy next to me can care less.  There’s nothing worse than see the person sitting next to you watch what you are typing as you type it.

The sleeping guys doesn’t care that you sat next to him.  He doesn’t roll his eyes or huff as he moves his bag off your seat.  If you are careful, he may not even know you sat next to him at all.

Occasionally, you get a guy who snores.  This isn’t so bad.  People will look over at you and you try to sit up straight and alert so everyone knows it’s not you.  You can sometimes look back at them and sort nod your head sideways at the sleeping guy as if to say “it’s him” and they raise your shoulders as if to say “what can you do?”  No one expects you to wake the guy (unless that’s why they are looking at me).  I respect the sleeping guy too much to wake him.

So, that’s it.  My one and only commuter tip.  May it make your commutes as enjoyable as it makes mine.

Filed under: Uncategorized 1 Comment
6Apr/090

Baseball Season is Here!

Baseball season starts tonight for the San Diego Padres.  The team is different.  No Hoffman.  No Greene.  Might not be much of a team this year (time will tell).  But still there is something about opening day which is very exciting—even from 8,000 miles away.

Following baseball gets easier every year.  I can remember when I worked a night shift at the Super 8 Motel in Missouri listening to the Padres play the Cardinals on the radio.  The only reason the Pads were on at all was because they were playing St. Louis—which was about 3 hours away.  I had to content myself with ESPN highlights for most games. A few years later, MLB.com started broadcasting the audio feeds on the internet and I listened to the 1998 Padres win the pennant over a 56k modem in the middle of the night for my first year in England.  Soon, with broadband came video.  I can now watch every game of the year—just as if I was living in SD—but who has the time?iphone 011

As I write this, I’m playing with the MLB app for the iPhone on the train.  It was introduced last year, but this year it adds Gameday audio so I can listen to the phone just as if I was listening to a radio broadcast in the States.  It works well on 3G (well except for when I leave 3G areas on the train) so I’m listening sporadically to the home opener of the Indians at Rangers.  Padres Opening day doesn’t start until 1am.  I’m debating whether I want to set the alarm so I can watch it live.

When I first moved to England, watching baseball was one of the things I missed the most.  It was ubiquitous in the States, but you don’t realise it until you leave (like bubble gum).  Over there, you can turn on the TV and there is likely a game on somewhere.

There are some baseball broadcasts in England.  Channel 5 shows the ESPN feed on Sunday  and Wednesday nights in the wee hours of the morning.  Since it is ESPN and only twice a week, you only get the big teams—rarely the Padres.  This used to be how I watched baseball before broadband.  It wasn’t the same.  Because it was on in the middle of the night, you didn’t get the obligatory beer commercials—you get lonely men chat phone services (breathy voice: “Are you lonely? Would you like to meet young, fun, people? . . . “) which kind of takes the shine off the national past-time.

MLB.com has a great service which costs about $100 a season and you can watch any game over streaming media and all the games are archived for later viewing. Since most SD games are on in the middle of the night or early morning, I could wait for the archive to become available at watch it at a more convenient time, but it is not the same as watching live.  One season, I was convinced that the team did better when I wore a certain cap while watching.  If it was taped, I had no control over the game.

This morning I went to get coffee with friend at work.  He was telling about how great the Manchester United match was yesterday.  Apparently, it was very exciting in the last few minutes.  He asked if I saw it.  I told him I missed. The truth is I didn’t even know it was on.  This is a testament to my lack of assimilation, I guess.  I’ve tried—I really have.  I plan to take the kids to see Reading United play a match this year—hopefully to foster an appreciation for football like my parents gave me an appreciation for baseball.

UPDATED (a few hours later):

I'm up at 1am to watch the MLB.com feed I raved about earlier.  What a huge disappointment.  They launched a new Flash player which promised the moon but couldn't deliver.  It's supposed to have DVR-like ability and allow picture in picture, etc.  The high-def picture keeps freezing and then becomes completely unavailable.  Teething problems, probably.  The forum is full of them.  But this is opening day. 

Also, MLB.com thinks the ball game started at 1:05am (UK time), but that is actually in the fourth inning.  First 3 innings appear to be unavailable.

A very disappointing outing for the MLB video player.

Filed under: Uncategorized No Comments
2Apr/090

The end of the world as we know it

I read last week's Time Magazine Essay, The End of Excess by Kurt Andersen, about the current recession (dubbed The Great Recession). We have no shortage of depressing news and commentary.  One phrase really stuck out.  "This is the end of the world as we've known it. But it isn't the end of the world." 

Then tonight I watched this very good video about the current state of the world:

We are living in interesting times. 

Filed under: Uncategorized No Comments
30Mar/096

Completed the Reading Half Marathon

Yesterday, I completed the Reading Half Marathon.  My time was 1:52:21.  In the last few miles, I didn't think I was going to be able to make it, but I held on.  It's funny how much of it becomes a mind game after a while.  I knew that if I stopped once, just for a minute, that would be it.  I'm happy with my time and really happy that I finished.

There were 17,000 people there yesterday.  It turned out to be a long day.

This morning my legs are very sore, but they still work.

Filed under: Uncategorized 6 Comments
27Mar/091

The Apprentice- I’ve had enough.

The Apprentice started a new season on BBC Wednesday night.  Along with it will come lunch-time conversations and news updates on firings.  I’ve always been a big fan.  I really enjoyed watching it last year.

This year, with all that’s going on in the economy, I don’t want to watch it.

I don’t want to see project managers argue with each other and posture and demonstrate how their leadership skills are better than the others.  I don’t want to watch Alan Sugar on his big boat or the winning teams who get pampered because they won a task. 

Every day, there are more stories in the news about people who are losing their jobs and their homes.  There are people struggling, and the rest of us are wondering how long until it gets us.  Some people are questioning whether our society is living beyond its means.  Others are waiting for the good old days to come back.

I’m all for business, but I don’t want to go back to 5 years ago when everyone was starting their own consulting businesses.  I’ve gotten swept up in this too.

I used to go to networking events for ECademy, which turned out to be giant orgies of people trying to promote themselves.  I was there to talk to people about Overpass, and they were there to talk about their own companies.  Everyone was trying to sell to each other.  I met people who promised they could get my site to the top of Google (without knowing what keywords I wanted or what my business actually is).  I met so many people who decided one day to be a life coach without having any skills to support it (except for the fluff "people person who cares” skills”). 

It has gotten to the point that no one has any skills any more.

There have always been managers and executors.  In the Army, the enlisted men were managers and the officers were delegators.  Officers had a skill of telling people to do things they couldn’t do themselves.  Officers were pampered as strategic thinkers.  Enlisted men couldn’t stand them.  40 year-old First Sergeants would have to salute 20 year-old lieutenants.  It never seemed right.

If you visit a garage, it is easy to see the division between skill and management.  Managers are customer-facing and tell the others what to do, but they may not be able to do it themselves.  They may have been very good at fixing cars one day a long time ago, but have fallen out of practice.  If there are lay-offs, the manager will probably stay.  The skilled labour will go.

I see this a lot in my current profession.  At various jobs, I meet project managers or business analysts who don’t understand what I do.  They consider me their resource.  I can’t tell you how many times a project manager has said, “I started out as a programmer, so . . . “ and tell me about how they coded VB4 back in 95 but couldn’t do it today.  I had one PM tell me, “I could write that sql, but I’m a project manager now, so that would be taking a step back for me.”  How could you not be insulted by that?  Since when did Project Manager become the next promotion step for developer?  I’ve turned down Business Analyst opportunities before. 

Everyone wants to be a manager.  Everyone wants to be a consultant.  Everyone wants to call themselves a leader.  We are running out of people who can”do”.  We are losing those who can execute.

Tom Peters, one of my favourite management gurus, has a great quotes “You don’t promote your most talented violinist to conductor”.  The Peter Principle (different Peter here) states that, “You are promoted to your level of incompetency.” 

From where I sit, however cynical it may be, I see the massive layoffs as a big hit to our ability to execute.  While the mass skilled staff who don’t sit at board room tables or in meetings are being layed off, the managers are trying to make the case for why they should stay.  We don’t need more managers, we need more do-ers.

This is why I can’t stomach the Apprentice this year.  I’m not up for it.  Too many people are losing everything, and I don’t want to see a bunch of un-skilled managers (I don’t think management is a skill) argue with each other so they can get their dream job. 

I guess this is MY populist rant.

Thursday, I went to lunch with a bunch of friends where conversation turned to the Apprentice.  I sat quietly.  Apparently, so-and-so deserved it and so-and-so was very rude.  I can’t be bothered.

Maybe next year.

Filed under: Uncategorized 1 Comment
16Mar/090

What’s going on with me lately

It’s been a few weeks since I’ve posted anything here.  Over the past few weeks, I’ve spent a lot of time running and playing with Twitter.

Twitter has grown so fast it’s incredible.  It seems like every day more and more celebrities and politicos are joining.  Of course, the celebrities immediately have loads and loads of followers almost immediately.  Other people follow loads of other people in hopes that they will reciprocate and give them a high number.

The avalanche of Twitter use really hit me when Kevin Pollack posted a few days ago “After 19 days of Twittering . . . “ but it seemed like he was one of the early adopters and was one of the top 10 Twitterers (with the most followers) when I subscribed to his feed.  I’ve been following Newt Gingrich, Jonathan Ross, and Scott Hanselman among other people.  They post several times throughout the day.  But having only done it for a few weeks, I think it’s something that will lose it’s novelty soon enough.  A year from now, we’ll be saying “Remember when we were all into Twitter?” and laugh and laugh at how silly we were to latch on to that fad. 

I’ve been Tweeting once or twice a day. Usually to say how far I’ve run or what I had for lunch.  Nothing major.  If I have an idea about something, I can keep it to myself or write it.  It makes no difference, really—it’s easy enough to do both.  If anyone is interested in what I’m doing, they can follow it—but if it evaporates into the ether without anyone noticing but me, I see no problem with that.

I still don’t talk about Tweeting when with my friends or colleagues—they are too cynical and it exposes more of my nerd-dom.  They may latch on in a few months or a year (like they did with Facebook).  There are still people I don’t tell about the blog, because they see it as superfluous anyway.

The other activity that has been taking a lot of time recently is running.  In two weeks, I’m running the Reading Half Marathon.  The last half marathon I ran was the Kole Kole Pass Half Marathon in Hawaii back in 1993.  I was 21.  I’ve run ever since then, but never with the regularity to run 13 miles.  My practice runs take place in the very early mornings—the longest so far is 10 miles.  It’s odd to run 10 miles before 6am.  The run is long forgotten by lunch time.  At that time, it’s dark and quiet and cold.  Strangely, morning running suits me as it rarely has another activity (like a meeting at work or a situation at home) to delay it. 

The Half Marathon is on the 29th.  Baseball season starts a week later.  Perfect timing.  My early morning runs will be replaced with watching Padres night games in the early morning hours here.

Oh, and I recently bought Guitar Hero for the Wii.   Fantastic game.  I have a habit of buying video games thinking I immerse myself into them, but never do.  This game is different.  The big plastic guitar is fun to use and it’s an easy game to pick up, play for twenty minutes, and then move on to other things.

That’s it.  That’s what I’ve been up to.

Filed under: Uncategorized No Comments
23Feb/090

Getting to grips with Twitter

Twitter is all the rage now and it seems to be all that anyone ever talks about these days in the blogosphere.  So, why should I be any different?

I set up a Twitter account before Christmas and haven't used it much.  I'll check it out every few days as a curiosity.  One or two tweets in a few weeks.  But, that's not really in the spirit of trying something new.

For the past few days, I've tried to fully adopt it.  I have two followers.  I don't know who they are or why they are following me, but maybe that's just the way it works.  In the first few days of setting up the twitter account, I had several people subscribe to start following me.  I think these people troll for new accounts and subscribe, probably so I would reciprocate and follow them.  So that put me off a bit--the thought of oportunists praying on me. 

But I never gave Twitter much of a chance.

At this early stage, I'm not sure what to expect.  I would think that my followers would only be people I know.  Like family in the states or people I've had passing acquaintances with.  Or maybe readers of this blog. 

I have to admit, the whole 140 character thing makes me wonder how useful it is.  I can't ramble on (a good thing perhaps) but I'm also limited to things like "Went to lunch.  Ate chicken".  But, occasionally I'll want to write something a little more spur of the moment like "Subqueries are almost always a symptom of bad database design" or "The guy sitting next to me doing Sudoku looks exactly like the guy three seats down doing Sudoku".  Still, not really riveting, but better than hearing about my menu.

I'm only just getting used to Facebook.  When I log on, I see the status updates with something like a friend who "is making cookies.  Yumm." This not only bores me to death, but makes me wonder if the social media is going too far.  I wonder if Twitter would be the same type of thing.

But, I'll admit that I started blogging just to see what all the fuss was about and really enjoy it.  That was five years ago.  I like the idea that I can write whatever I feel like, whether it be a story about my past, an embarassing incident at work, or a bit of code I've been working on.  I don't have many regular readers, but most people find the posts via a google search for something or other.  It was a fad I latched onto and now really enjoy.  Perhaps Twitter will be the same.  So many of my favourite bloggers are raving about it.  I'll give it a go.

So far, it feels like sending text messages to no-one in particular.

There are still people who, when finding out I have a blog, say "Oh, Eric!  Why on Earth do you need a blog!"  I don't need one, actually.  But I don't need a lot of things.  I want one.  I enjoy it.  What I have to say may only be of interest to the occasional googler, but that doesn't mean I can't lend a voice here and there.  Besides, I'm the only American living in London-- who speaks Mandarin, codes C#, works with offshore developers, is learning Hindi and who grew up in San Diego-- that I know.  Everyone has a unique perspective on something.  No one needs permission to write it.

By the way, on Twitter I'm following the Diggnation guys, Stephen Fry, Scott Hanselman, and Scoble. 

My Twitter account is ericwroolie.  Feel free to follow and I'll try to keep it interesting.  I've got a Twitter section in the sidebar of this blog which lists the last few posts.  You can set up your own account so I can follow you.  You might enjoy it, too.

See you in the Tweets.

Filed under: Uncategorized No Comments
1Oct/080

What will it look like after?

Like a lot of people, I'm really concerned with how the technology market is going to look in the next year.  While, at this moment-- with all that is going on in the financial sector, I still have colleagues that tell me that we should probably not be affected at all.  But that's a crock.  We're all going to be affected.

When the tech bubble burst in the early part of this decade, it nearly coincided with the release of the .Net framework.  For some of us VB5/6-ers, it was a big learning curve and our companies didn't want to pay for it.  Those who were really committed, spent their home hours writing messy demo application to get to grips the technology.  When .Net open source projects like DotNetNuke became available, we got to see how others coded as well.  At this time, a friend and former mentor of mine said, "this is when a lot of programmers will go off to be accountants or something."  They did (however, it was more a move into project management than accounting).  But a lot of people never really recovered.

The benefit of the bubble bursting was that it did thin out the professional developer industry.  Those of us who wanted to stay in it, had to work harder to prove we were worthy and do more than was listed on our job descriptions.  The moonlighting web designer (or "Web Masters"-- with their white font on tiled-gif background along with their enormous third-party hit counters) started to fade from existence.

Now, we are about to see upheaval again.  When it really hits the fan in the next few months, contractors will feel it first, but permanent employees will be affected too.  Those of us who will be let go, will be let go into a buyers market.  It will even cause us to ask, "Do I jump (leave) before I am pushed (let go)?"

But the complacency of employment, I believe, has to end now.  Save and study.

Filed under: Uncategorized No Comments