Archive for the ‘Uncategorized’ Category

My 5k Run in the Snowstorm

Tuesday, March 18th, 2008

Some say that you can’t call yourself a runner until you’ve actually run in a race. I’m happy to say that on March 8th, 2008 I accomplished that feat by running the Slainte Irish Pub St. Patrick’s Day Road Race.

This wasn’t your everyday run however, as you can see from the picture below, there was a bit of a snowstorm going on around us!

The snow on race day
A look at the snow outside before the race

It definitely wasn’t the warmest I’ve been while out for a run, but as you can tell from our faces in the picture below, we were doing ok.

P3080139
Joe, Dorothy and I ready to go

The route was pretty good, we started just off Concession Street, ran along the mountain brow and then made our way down the Jolly Cut. The whole time down I was telling Joe how nice it would be to have one of those x-games head mounted cameras, that way there would be some evidence for how much snow was coming down.

Considering the weather I was pretty happy with my results, my goal was to not be the last person to cross the line and I beat that by about 50, sweet!

P3080143
Joe and I busting for the finish, notice the snow!

The best part about the whole day was the hot Irish stew and beer waiting for us at the pub just over the finish line. Definitely helped us get warmed up quick!

For those thinking about entering this race, go for it! It’s a lot of fun and from what I could tell everybody had a fantastic time. I’ll see you there again next year for sure!

P3080148
The three of us at the finish line, we made it!

5 Things I wish I was taught in software school

Monday, February 4th, 2008

It’s hard to believe, but it’s been 3 years since I graduated from Mohawk College’s Software Engineering Technology Program. That means that it has been 3 years where I’ve been able to reflect on what the program taught me, and some of the things that I wish I had learned. There are many things that I am happy that I now know, however I also feel that there were some key elements that were completely overlooked. I don’t want this to be a rant piece, that’s just not my style, I just feel that if I had graduated knowing about the following things I would have entered the professional world a much stronger developer.

1. How to use source control
This one is huge, everything I know about source control and version control systems I have had to teach myself since becoming a professional developer. I’m not saying that every software program should have an entire course dedicated to this, but at least knowing the basics would be nice since it’s so critical to the development process. Perhaps this is specific to the program that I went though, but when I graduated I had no idea what version control was, only that Visual Studio had something called Source Safe that I never bothered to install. Perhaps if it were a requirement for the larger final semester projects to be submitted through a source control tool, don’t even force students to use a specific tool, but use SOMETHING.

2. How to write secure code
When I was in school the web application world was still in it’s infancy so perhaps this isn’t as much of an issue now. Never once did I hear the term ‘SQL Injection’ or ‘Cross-site Scripting,’ but now they are serious issues, especially for developers working in web applications. The only parameter checking that we did were the ones that were enforced by the compiler/interpreter. We would never go so far as to verify that if your code expects a 4 digit number, a 6 digit parameter causes an error.

3. How to do automated testing
This is another big one, and in my situation as a PHP developer, one that I still don’t have figured out yet. We were taught that as long as our programs gave a specific set of output for a given set of inputs, it was correct. While the idea seems rational, our test inputs were more often than not insufficient to catch even the most glaring of errors (like the example in the previous section). Most software shops these days do some sort of automated testing so I think graduating school having never written a unit test puts us at a major disadvantage.

4. Agile development / Extreme Programming
I can’t completely blame them for this, but I think it’s important to mention anyway. The only SDLC that I was taught was the old-school waterfall processes. You know the one, design the entire system using a binder of varying diagrams covered with boxes of arrows, write code to make the boxes do stuff, test that it does what it’s supposed to do, then release it to the world at large. Fortunately for us, the software world is changing, people are starting to realize that software development is a more fluid process than building a bridge for example.

For anything large it’s nearly impossible to figure out every last detail without writing any code at all. This is where Agile/Extreme programming comes in, shorter release cycles, small increments or features between each release.

The other problem with the old methods, as I’ve learned from experience, is that most of the time customers don’t really know what they want to begin with, so how are you going to design it for them?

5. How to write modular software
This is another important one, most of us were taught to write our code as self-contained methods and/or classes. The idea was that it could be swapped out at some later date or extended with new functionality. This is totally fine, but what if you wanted to add functionality without having to change the base code? Not many of the developers I know were actually taught how to make their code extensible through add-ons or plugins.

I think it would be a great idea for students to have to write a base program with extensibility in mind. Later projects could modify it via plugins without touching the original base code.

I have a feeling that this topic wasn’t covered for two reasons, one being that the faculty assumed that all their students would be working on mainframes in banks. The other is that this sort of stuff isn’t exactly trivial code, from my limited knowledge of it anyway. I am still just at the beginning stages of this journey, walked through how systems like Wordpress implement hooks in their API.

So there you have it
I’ve tried my best not to bitch too much. I think each of the 5 things I’ve mentioned are valuable tools for any software developer to have under their belts.

Please feel free to add to the list or let me know what you think through the comments.

I’ve Moved to a New Host

Thursday, October 25th, 2007

After a year of nearly constant frustration with my previous web hosting company I have decided to switch. If you are seeing this page that means that the DNS updates are nearly complete.

You may also notice that the site is a bit different, during the host migration I decided to switch from PostNuke to WordPress since most of what I do is blogging anyway and PostNuke seems to have fallen quite a bit away from the competition on that front.

I’ve migrated most of the stories that actually mattered from the old site, and there will be plenty more to come in the near future.

Check back soon for much more frequent updates.

Wally

Getting things done…

Thursday, January 25th, 2007

Wow, what a busy holiday season that was! Always is this time of year, Christmas, the New Year, my birthday and anniversary all within a two week span. There was so much going on that it is all very overwhelming and exhausting. Even after the holidays it felt like no matter how hard I worked nothing seemed to get done.

Finally I have been able to start digging myself out from underneath the pile. Many of the things that have been on my todo list for months have suddenly been completed, plus many more recent items. Here’s the plan I have been following to keep it going:

  • Keep a detailed list of everything that I need to do
  • Get rid of anything on the list that doesn’t actually matter
  • Finish things before I move on to the next, don’t leave items @ 90% complete
  • When something is finished, put it away so that it’s out of my mind
  • Re-prioritize my to do list often in achievable chunks, starting the whole process over again

The results have been good, as I get caught up, my head feels more clear and I’m actually able to get things done even faster. This week I’ve scratched 3 times as much stuff off of my lists as I have in previous weeks, and we all know how good it feels to get out that marker and cross something off our list. I no longer feel like I’m buried under a pile of stuff.

So give it a try if you like, let me know how you make out.

Avoid Comwave like the plague!

Wednesday, October 4th, 2006

This is a head’s up to anybody who is thinking about signing up with Comwave for their VOIP service. I have been a customer of theirs since June of 2005 (1.5 years) and until recently had been generally satisfied with the service they provided. There were a couple of instances of dropped calls, but nothing terribly bad.

That all changed just over a month ago. During the entire final weekend of August my iPhone refused to make or receive any calls. I was unable to get through to Technical Support on numerous attempts. I would wait on hold for 10+ minutes before the call was dropped.
On August 30th I received an e-mail from the president of Comwave apologizing for a botched upgrade, at the time I thought it was a nice gesture. That was until the problems that were apologized for never actually went away.

I started to hear from friends of mine that they were having difficulties getting through to us, they would call our number and get a busy signal right away. They would sometimes get through on the 3rd or 4th attempt. Under normal circumstances they should have at least been forwarded to my voicemail so that I would know that I had missed some calls, this was not the case.
I attempted to contact Technical Support again, I waited on hold twice for more than 20 minutes before my call was dropped.

Shortly after this started I began having intermittent troubles making calls out, when I picked up my phone I would get a busy signal, that doesn’t seem right does it?
I was starting to get really angry about the whole situation so I dedicated an entire Tuesday night to trying to get on the phone with somebody at the company. On my first attempt I waited on hold for 22 minutes before getting through to a technician. I explained all my problems and we did some basic troubleshooting to make sure there were no problems with my Internet connection, which there wasn’t. I then reluctantly installed their remote control application so that the technician could look at my settings himself. While he was in control of my computer the phone got disconnected, noticing that he was still moving my mouse around I opened up notepad and informed him that the line had been dropped and gave him two (non-VOIP) phone numbers to call me back on. I never received a call and about 5 minutes later the technician disconnected the remote session. Not one to give up, I called right back, waited on hold for 20+ minutes again, but finally got another technician on the phone. I went through the whole spiel again (apparently my previous technician did not make any notes on my account) and finally the technician gave up and said he would have to elevate a support request to figure out what was going on. Apparently this means that a higher level technician would look into my problem and get back to me within 24 hours.

So much for that. Two days later I had not received a call so I got back on the phone again, this time getting through in a surprisingly quick 5 minutes. When the technician pulled up my account he said there was no record of the elevated support request that I informed him about. Trying to be helpful, he insisted that we go through the entire support process again. Another 10 minutes of him poking around in the iPhone settings and he agreed that there needs to be another elevated support request entered.

I let him do this, and got his name this time, Leonard, as he assured me that it was entered on my account. It’s been a week since that call, my friends still say that they have to call 3+ times to reach me after getting a busy signal. I called back this morning from work mentioning my history to the operator who then informed me that they cannot troubleshoot my problem unless I am at home with access to the iPhone. I tried to explain that these steps had all been tried before but got nowhere, she did however offer to schedule a time for a technician to call me at home so that I wouldn’t have to wait on hold. I agreed to that and we booked the call for between 5:00 and 5:30 EST (I made sure), I also gave them my cell phone number in case they were unable to get through.

The current time is 6:46 EST (just for consistency), and I have still not received the call. I just got off the phone with somebody in Customer Service (since I don’t have any reason to trust the tech support people anymore), who said my only course of action was for him to schedule the next available technician to call me when they get off the phone. After waiting 35 minutes I received a call from a technician, his only recommendation was to do a factory reset on the iPhone and waiting a day or so to see if the problem goes away. Not exactly what I would call helpful…

I am going to be switching to Cogeco ‘s Digital Phone Service tonight, hoping that they can install it soon. My next challenge will be to try to wrestle my $50 deposit from the incompetent hands of the people over at Comwave.

Any suggestions on a good way to handle that?

Am I turning into an Apple fan?

Tuesday, September 12th, 2006

I’m not even sure how they did it, but Apple is definitely doing something right. I have always been against Apple and their Macs because of application compatibility and the fact that being a .Net programmer, the Mac platform isn’t really available to me.

Lately though, I’ve been finding myself more and more interested in what Apple is doing and some of the new products they are releasing. I even watched the Developer Conference keynote awhile back and found myself getting very excited about what they will be offering, much in the way that I did when I started seeing Vista webcasts.

Even more scary, I find myself seriously considering getting a Macbook Pro or a Mac Pro for my next notebook/laptop. Maybe it has to do with the fact that I can run Windows / Linux etc. on it, I don’t know…

So, kudos to you guys Apple, you’ve caught my attention.

MCTS Studying taking longer than I thought

Saturday, September 9th, 2006

I’ve been working my way through the MCTS 70-536 study guide since I picked it up back in July. It has been pretty slow progress so far, currently I am in the early stages of chapter 4. I definitely haven’t had a chance to spend as much time on it as I originally thought I would.

Overall the training kit is pretty good, I’ve learned about some interesting and useful features of the .Net Framework, specifically the cryptography, compression and isolated storage sections. I do like how the book is layed out, with nice short lessons that you could read through in 15-20 minutes followed by a lab or two and some review questions. At the end of each chapter you are given a series of schenarios where you can apply the concepts from the preceeding chapter, although sometimes they are worded in a way that you don’t really know what they’re asking, kind of like real world development I suppose…

Already I’ve learned some things that I would like to put to use with the PHP Time Tracker client program so I can’t complain. Now that the summer is behind us I’m hoping that I’ll be able to spend some more time on getting through this stuff and writing some exams.

We’ll see how that goes…

Lord of the Rings… On Stage?

Sunday, August 27th, 2006

For my birthday this year my girlfriend said she was going to take me to see the Lord of the Rings musical playing in Toronto. She checked for tickets every couple of weeks during the year, we wanted decent seats but they always seemed to be so expensive. Luckily, one week in June when she was checking the site, she stumbled across this deal where you get a 3 course dinner and ‘Premium Seats’ for the bargain price of $89! She called right away and was able to reserve us both DD (4th row) seats, which actually end up being 2nd row seats due to the space alloted for the conductor.

Our dinner was at The Strip House just around the corner from the theatre and was absolutely fantastic, I would highly recommend it to anybody looking for a new place to try.

Being a huge fan of the original books and the movies and after the lackluster reviews I was a bit skeptical about how the show would be. Needless to say, I was amazed. The sets and effects were brilliant and overall they interpretted the story very well. Those who only saw the movies may find the end a bit confusing as it does not end with Frodo going to the West, instead, the story of Saruman returning to the Shire is told, a great surprise that had many in the theatre wondering what was going on. For me, the most memorable scene was the Bridge of Khazad-dum, the stage was lit to appear as though it was on fire, then suddenly there was a huge blast of air whipping past us with pieces of tissue paper as ash. It felt like and earthquake was happenening beneath our seats. All of this was compounded by our proximity to the stage.

Overall I thought the show was very well done, my only disappointment was that the voice of the actor who played Gandalf was very weak, almost to the point of sounding scared most of the time. Mind you, he had very large shoes to fill after the example set by Sir Ian McKellen.

If you get a chance to see it before it closes on Sept. 3rd, I highly recommend it.

On the Path to Certification

Tuesday, July 18th, 2006

So I’m officially on the path to getting my Microsoft Certified Professional Developer certification. I’ve purchased the recently released Self-Paced training kit for exam 70-536 (.NET 2.0 Application Development Foundation) from Chapters and it just arrived at the office today.

My plan is to maintain a log of sorts of my progress through the whole ordeal so that others can learn from my experience. I’ve already made my way through the first chapter of the text so I’ll be posting about that soon, check back for all the gory details.

To be open or not?

Thursday, April 20th, 2006

With the development of my PHP Time Tracker tool I’ve come across a question that I’m sure many other software developers have had to answer.

"How do you decide if your software will be open source or closed source?"

At this point I’m not sure what the answer to that question is but I’m going to try to work it out here. I’m really hoping that somebody out there that has some experience with these sorts of things will be able to weigh in with some of their thoughts as well.

The advantages I see for the open source perspective are:

  • Potentially wider breadth of knowledge can be used to solve problems
  • Faster development through multiple people working at the same time
  • Better cross-platform support due to developers with different backgrounds
  • Better quality and security due to peer reviewing of code before deployment
  • Here’s the advantages I see for keeping things to myself:
  • I get to keep things to myself, maintain full control over the project<
  • My work and my code stays private, can’t be taken and used in other projects
  • If a business opportunity presents itself as a result of the project, I don’t have to take the open source implications into consideration.To me it seems that the pros of each end up being the cons of the other. I’m still quite confused about the whole thing. For now though I think I’m going to keep the PHP Time Tracker project to myself.