I’m looking for co-workers at Amazon Toronto!

Posted on May 5, 2012 by

Interested in solving challenging problems with bright minds? I’m looking for co-workers to fill out a brand new development team at Amazon. I’m currently the only member so it is an exciting time where every new member can deeply influence how we grow. If you have strong problem solving skills with a solid background in...

Read More

Solving Traveling Salesman with Ant Colony Optimization in JavaScript

Posted on April 16, 2012 by

Ants are relatively unintelligent creatures and yet as a group, they are able to display intelligent behaviour. This article explores the fascinating ant colony optimization algorithm applied to the traveling salesman problem using javascript examples.

Read More

MVVM vs MVP vs MVC: The concise explanation

Posted on April 4, 2012 by

This article explains the differences between MVC, MVP, and MVVM using as few words as possible. For a detailed explanation, see my article MVVM vs MVP vs MVC: The differences explained

Read More

Interview Questions for Software Developers

Posted on April 4, 2012 by

I’ve recently been looking for work as a senior .net developer and created these preparation guides while I was interviewing at various places.  Although I’ve described this as a .net guide, only the questions on WPF and ASP.NET MVC are actually .net specific.  In fact, I ended up accepting an offer for a java position...

Read More

Algorithms and Data Structure Interview Preparation Guide

Posted on April 4, 2012 by

This article is part of a series I’ve written on senior .net developer interviews.  The goal of the series is not to provide a list of interview questions that you might be asked, but to provide a list of questions that ensures that you have a comprehensive understanding of .net and software development.  To read...

Read More

.Net Interview Questions 3: Framework Core

Posted on April 4, 2012 by

This article is part of a series I’ve written on senior .net developer interviews.  The goal of the series is not to provide a list of interview questions that you might be asked, but to provide a list of questions that ensures that you have a comprehensive understanding of .net and software development.  To read...

Read More

.Net Interview Questions 5: Management & Leadership

Posted on April 4, 2012 by

This article is part of a series I’ve written on senior .net developer interviews.  The goal of the series is not to provide a list of interview questions that you might be asked, but to provide a list of questions that ensures that you have a comprehensive understanding of .net and software development.  To read...

Read More

.Net Interview Questions 6: Databases

Posted on April 4, 2012 by

This article is part of a series I’ve written on senior .net developer interviews.  The goal of the series is not to provide a list of interview questions that you might be asked, but to provide a list of questions that ensures that you have a comprehensive understanding of .net and software development.  To read...

Read More

.Net Interview Questions 7: WPF

Posted on April 4, 2012 by

This article is part of a series I’ve written on senior .net developer interviews.  The goal of the series is not to provide a list of interview questions that you might be asked, but to provide a list of questions that ensures that you have a comprehensive understanding of .net and software development.  To read...

Read More

Explanation of the stack, the heap, and recursion leading to stack overflow

Posted on March 14, 2012 by

What are the stack and heap? What causes stack overflow? How many levels of recursion are possible? A C# example answers these questions.

Read More

.Net Interview Questions 4: Multithreading

Posted on February 20, 2012 by

This article is part of a series I’ve written on senior .net developer interviews.  The goal of the series is not to provide a list of interview questions that you might be asked, but to provide a list of questions that ensures that you have a comprehensive understanding of .net and software development.  To read...

Read More

Polymorphism in C#: new vs override as function modifiers

Posted on February 10, 2012 by

This example explains the differences in C#'s new and override function inheritance modifiers and provides some usage guidelines.

Read More

How to have effective meetings? Stop having meetings.

Posted on January 6, 2012 by

Meetings are not always efficient but productivity can be often be increased simply by having fewer meeting. Ideas for minimizing meetings.

Read More

New Years Resolutions 2012!

Posted on January 3, 2012 by

2011 was a wild ride for me.  I started the year off by resigning from my position leading the software development department for an engineering company in Canada with the plan to go travelling.  Some of my favourite events for the year are:   Wrote a number of articles for this blog, and got one...

Read More

Self Improvement – 12 Week Plan for Coding Speed

Posted on October 19, 2011 by

Over the past few years, I’ve spent a lot of time learning about architecture, software development methodologies, and new technologies and I’ve realized that some of my most basic skills have gone rusty. Mainly, I think my speed for solving simple algorithmic problems can be improved. My plan to become a faster coder: 12 weeks...

Read More

Garbage Collection FAQ

Posted on October 8, 2011 by

What is garbage collection? How does it work? What is the difference between dispose and a destructor? Concise answers are in this article.

Read More

Stock Options Manager Mobile Web App Released

Posted on September 23, 2011 by

Stock Options Manager is a free tool for tracking the value of a portfolio of stock options. Option details are displayed in an easy to use grid.

Read More

3 Rules of SDK Design

Posted on August 25, 2011 by

SDK, API, and framework design is difficult. Three design guidelines as well as tips for achieving those guidelines are summarized in this article.

Read More

Pyramid js: A dependency manager to load/combine web development files

Posted on August 14, 2011 by

Split/combine your web dependencies using this free javascript tool. Pyramid js even allows you to separate your html views into files during development.

Read More

Essential Tools for *Advanced Javascript Programs

Posted on August 6, 2011 by

JavaScript programs are becoming more complex. Some tools I have found useful for designing and managing these growing projects are described below.

Read More