Archive for December, 2009

31 Dec 2009

New Years Resolutions

3 Comments Running

I’m a big believer in New Year’s Resolutions.  Having said that, I hadn’t really thought of any.  Sure, there’s the resolutions that could be carried over from last years—all that diet and exercise stuff—but nothing new.

At this time of year, I feel self-conscious about running. Tomorrow morning will the the worst.  The sidewalks and pavements are always packed with runners on the first of Jan.  Since my long career in running has not done much to reduce my weight (imagine if I didn’t run!), I always look like a novice when I’m out there.  I look like a New Year’s runner.  But still, there’s nothing wrong with being someone out on a run because they made a resolution.  Good for them!  They probably feel self-conscious too, but they do it anyway.

This time of year, if you talk about resolutions, 3 or 4 people say the same thing– “My resolution this year is to not make any resolutions!”  Hah!  Get’s me every time!  How clever.

The problem I always had with resolutions is that I fear being mocked if I don’t carry them out.  I felt the same way when I started running or earlier this year when I started going to the gym.  I felt that if I start, I could never stop because that would be failure somehow. 

If I go for a run on 1 January, for example, I feel as if I have to run every day after that.  If I start going to the gym, I need to go for years.  But the truth is, this kind of fear stopped me from doing lots of things.  If I go to the gym once, it’s one time more than never going.  If I see it as something I need to do today rather than a commitment to something for the rest of my life, it makes it much easier to handle. 

My most famous resolution with my family is the time I decided I would become a vegetarian.  It lasted 7 days.  But that burger on January 7th was fantastic!

My parents quick smoking on New Years when I was a kid.  They never took it up again.  Resolutions are not always broken.

There’s nothing magical about a New Year’s resolution—it just gives you an excuse to make a goal.  An it’s easier to tell people how long you’ve been keeping it up.

I’ll spend today thinking of a good resolution.  It seems a waste of a calendar change if I can’t come up with one.

Happy New Year and I wish you a wonderful 2010.

22 Dec 2009

Complexity of software projects

No Comments Agile, Software Dev & Productivity

A good article was posted yesterday by the ComputerWorld Website saying that the leading cause of software project failures is the complexity of the applications.  The article quotes software architect Roger Sessions:

“Our goal should be to design the least complex architecture possible that solves the business problem”

I’ve been part of many projects that were mired in complexity.  They usually over-run or we end up with a sub-par system that awaits a never-to-happen refactoring and revision.

MiG-21MF Cockpit
Creative Commons License photo credit: Kecko

It’s easy to brainstorm a project and add feature-after-feature until you produced a project plan which stretches over months or years.  It’s easy to design an interface that looks like a cockpit dashboard with lots of functionality that you will probably never use, but looks impressive in the way it fills the screen.  “Wouldn’t it be great if this interfaces with every other system we have?  Wouldn’t it be great if we could use that new transactional system that’s really hot right now?  Wouldn’t it be great if . . .”

I’ve been guilty of this in the past—but I’ve been burned so many times that I tend to err on the side of simplicity (but I don’t always get final say in architectural decisions).

Over the past few years there has been a move to simpler architectures, simpler interfaces, and quicker release cycles.

Scrum is an agile methodology that stresses frequent releases over many iterations.  So, at the end of each 2-3 week iteration, you have working software—regardless of whether you release it to the public or hold until the next iteration.  It’s a methodology that resonates with a lot of people who have worked on failed projects in the past.  I became Scrum Master certified a few years ago, and it changed my whole view of how projects should run—but it is not easy to convince business owners to go this way.

37 Signals released a fantastic e-book called “Getting Real” which they stress that building software is more important that talking about building software.  They have released one of my favourite on-line apps ever with Basecamp.  It is quick, easy, and has a simple interface.  They refuse to clutter it every bit of functionality anyone asks for.

Interfaces in general are getting more simple to use—and not just for products like Basecamp.  10 years ago, you had apps that tried to fill your entire browser with things to do, but now you see more and more that are intuitive and easy to use.  Compare Yahoo! (with a browser window you couldn’t find any blank space on) with Google (a textbox and a button—no manual needed).

The software that has a better chance of reaching “finished” is the software that keeps the architecture simple, keeps the interface simple, and releases frequently.

Here’s the link to the ComputerWorld article:  http://www.computerworld.com/s/article/345994/The_No._1_Cause_of_IT_Failure_Complexity

19 Dec 2009

The Future of Work

2 Comments Offshoring, Software Dev & Productivity

There is a very big company in the outsourcing industry called oDesk.  I learned about them a few years ago when I was looking at outsource projects back then.  I’ve used them a bit and they have a fantastic product. 

They put a video out on Youtube recently called the Future of Work. It’s very good.  Here it is if you haven’t seen it:

The link is here: http://www.youtube.com/watch?v=G8Yt4wxSblc

For the past few years, you could definitely see the tide turning.  Maybe there will soon be a world where the majority of people don’t have work which makes them put on a suit and commute for hours every day.  I’m glad that other companies believe that and are working towards it.

17 Dec 2009

Like Zorro

3 Comments Movies

One of my favourite movie quotes is from the movie Jerry Maguire.  It’s not my favourite movie (that’s Goodfellas, if you’re interested), but it’s up there. 

There’s a scene in the movie where Jerry (Tom Cruise)  and Rod Tidwell  (Cuba Gooding Jr.)  are sitting on an airplane while Jerry is getting drunk.  Jerry is wallowing in his misery and feeling sorry for himself and telling Rod that he can no longer help him because he (Jerry) is “cloaked in failure”.  Rod is frustrated with Jerry’s sudden lack of confidence:

Anybody else would have left you by now, but I’m sticking with you.  I said I would. And if I got to ride your ass like Zorro, you’re gonna show me the money.

I’ve seen the movie a few times, and that line always sticks with me.  There are times when everyone loses their nerve or their confidence drops.  Hopefully when that happens, someone close, usually out of frustration and being tired of hearing your self-loathing B.S., pushes you on.

15 Dec 2009

My Windows 7 problems and the solutions

No Comments Windows 7

I upgraded to Windows 7 a few months ago and have had a handful of issues on my desktop PC because of it.  I love the new OS, and would not want to go back to XP (I left Vista ages ago), so I had to try to figure out why these problems were occurring.  It was a lot of frustration going through forums and trying to find out what was going on. 

So, I’m going to post a few links here about the problems I had and where I found the resolutions.  I’ve installed Windows 7 64bit on a Dell Dimension 9150 with 4gb ram.

Wired Ethernet connection kept dropping and showing up as “Unidentified Network”

This was strange.  I would be sitting and working and then the connection would go down and it would take about an hour of faffing about to get it to come back up.  I found a lot of different possible fixes for this, but none of them worked.  I was having simultaneous trouble with my Orange Livebox at the same time (I was never sure which was the culprit). 

This problem was eventually solved by disabling the Bonjour service used by Apple.  I’m a bit annoyed by this, as I have some applications that use it—but it’s not nearly as annoying as having to chase down a problem with my network adaptor ever couple of days.

PC would not hibernate without rebooting. 

I would try to hibernate and the machine would reboot and switch back on.  I depend on hibernate because I need my machine to turn on at different times of the night to perform backup tasks on my web servers.

The problem had to do with my mouse having the ability to wake up my pc.  The problem is outlined here.

Skype Freetalk Everyman Headset would not always work.

I bought the Skype Freetalk Everyman USB headset to use with Skype.  It works great—when it does work.  I had a problem where the PC would only identify the headset about 40% of the time.  The Freetalk website is absolutely rubbish and there are a lot of people out there (as I’ve seen in forum after forum) who can’t get this to work either.

I fixed this by installed an application called “Universal Link” which I downloaded from the InstoreShop Support pages.  This was incredibly difficult to find.  I don’t know why there is no way to find this from their home page.  I noticed that my product was called TALK-5115 on my invoice and searched on that.  I found a driver on this page.  It seems to work fine now.

 

I hope this helps someone.  I spent hours looking for solutions to these problems.  My laptops haven’t suffered any of them.  Now, my only concern is the fan kicks into high speed far too often for my liking . . .

13 Dec 2009

The importance of reading books for software developers

No Comments Software Dev & Productivity

I read a lot of technical books.  The last one I read was called “Design Patterns in C#”—it was good, but didn’t carry much new away from it.  I’ve read books on WCF, Silverlight, Ruby on Rails, and Java too – although I’ve never worked with these technologies in a professional capacity.  My hard drive is filled with demo projects.

Nerdy Bookshelf Part One
Creative Commons License photo credit: schoschie

I know professional software developers who have never read a tech book all the way through.  They survive on Google searches.  When they run into a problem or need to do something new, they Google, get the answer and move on.  This works, but you often don’t get all the of the information that would be helpful to you.

When you just search for the information you need, you only find the subjects that are interesting to you.  It would be like picking up a computer book and only reading the chapters that sound good.  You would look at the construction of the GUI, database code, etc.  This is how things like Code comments, html standards, testing habits, etc. get ignored so frequently in this industry.

When I conduct interviews for developers, I like to ask “What is the last technology book you’ve read?”  Sometimes, the interviewee will try to impress me by telling me how long he has been in the industry, but that’s not the answer I was looking for.  I also ask which websites or blogs they go to for new information—since books are slow to publish, but technology changes everyday.

You have to Google for solutions, don’t get me wrong.  But if you’ve read a book (or e-book or whatever) you have a more holistic view of a technology.  Google is fantastic because we don’t need to be so concerned with exact programming syntax as we do with what a technology is capable of.  Back in my early days as a software developer (VB5), I used to pride myself on my ability to write code on paper—I knew the exact syntax without intellisence.  Now, that’s just stupid—I can look up anything I need in a few seconds (because I know what I am looking for).

There is a fear that if you are carrying a book around about your specialist subject, you are somehow showing people that you don’t know enough about it.  I have a friend who gave me a hard time about reading a book on Advanced CSS a few years ago. He told me he had never read a programming book because they are too dry.  I’ll agree with that, but that’s like a professional athlete saying he doesn’t like to train because it is too boring.  By stepping away from the practice and into the theory of what we do, we become more self-critical and improve at what we do.

I listened to a Brian Tracy audio book years ago.  He is always talks about the importance of reading.  He says (and I’m paraphrasing):

If you went to see a doctor about a problem you were having, you wouldn’t want to see one that doesn’t read anything.  You wouldn’t want someone who had learned everything on the job.  Someone who is only really good at stuff he has done before and looked it up at the time.  You want someone who knows what is going on in the medical industry.  You want someone who reads the latest books and periodicals in his field.  The same is true for lawyers or any other knowledge profession.

And the same is true for software developers.