Does anybody need a monitor?

UPDATE: As of this Sunday, March 15th, this monitor will be visiting a recycling centre.  If you are interested in taking it off my hands and can pick it up, it’s yoursJust let me know!

I realize that I currently only receive about 5 hits a day to this page and that is my own damned fault since it has been nearly a year between this post and the one below it.  However I’m still going to go out on a limb and mention that I have a CRT monitor in my office that I am simply getting tired of looking at, does anybody want it?

Here’s the details:

Model NEC MultiSync Fe950+
Max resolution 1600×1200 @ 76Hz
Viewable size 18 inches
Size 44.2cm(w) x 44.8cm(h) x 44.4cm(d)
Extras OptiClear technology
Anti-static dark-tint screen

I managed to find a link to a review over at PCWorld.  They mention that it is a great display for graphics work, which I can’t argue with, this is an awesome screen.

Multisync950

I’m looking to find a home for this screen since it is still in great working condition.  I’m asking for $100 but I’ll accept any reasonable offers.  I have recently seen this same screen listed for $130 on Ebay.  I don’t want to ship it so I’m looking for somebody that would be able to meet to pick it up in the Burlington – Oakville Ontario region.

If you’re interested please let me know at wally@power-coder.net.  If you have any questions please feel free to ask them in the comments, that way everybody can benefit from them.

As for the rest of the stuff on this site, I have plans, check back soon and you might be surprised.

Cheers,
Wally

Posted by Wally in Programming, Projects, 0 comments

My 5k Run in the Snowstorm

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!

Posted by Wally, 0 comments

5 Things I wish I was taught in software school

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.

Posted by Wally in Mentoring, 0 comments

I’ve Moved to a New Host

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

Posted by Wally, 2 comments

‘Synchronous AJAX’ or SJAX for Short

We had a problem at work the other day, we had a piece of JavaScript code that was making an AJAX style web server call, unfortunately other UI elements on the page required the results of that call to be available before the user attempts to use them. I tried searching the web for all sorts of things, ‘synchronous ajax,’ ‘ajax wait for response’ etc., leading to many explanations of the differences between asynchronous and synchronous requests, but no indication on how to do a synchronous request.

Finally, by looking through the JavaScript documentation for the XMLHttpRequest object and discovered that by simply adding an additional ‘false’ parameter to the normal http.open() call it forces the XMLHttpRequest object to run in synchronous mode. Exactly what we were looking for!

Here is an example: xmlhttp.open(“GET”, url, false);

This solved our problem completely, but since it was a difficult solution to find I figured I would post an example here in hopes of spreading the word of this useful tool.

Hope that helps!

Posted by Wally in Programming, 1 comment