My name is Aaron McLeod, and I am a software developer living in Toronto, Canada. I currently work at Mosaic Sales Solutions, building online applications. We primarily use Ruby on Rails to build apps that integrate with things like Facebook, Twitter, Mandrill and so forth. We've been more recently toying with EmberJS on the front end, as well as some potential hardware solutions with devices like Arduino.

Prior to Mosaic, I worked at DAC Group where I built landing page solutions using a proprietary system built in .NET. I mostly worked on the front end aspect of sites, implementing the design, and interactive experiences. As well as working with data from clients to figure out how best to structure a site, and construct a normalized database of business locations, service areas, etc. The business was primarily built around lead generation, and using the system to produce results for SEM & SEO.


From Fall 2006 to late summer 2009, I attended Georgian College, where I was enrolled in the Computer Programmer Analyst diploma program. It was made up of three co-op work term semesters, and with 6 academic semesters. It covered Java development on the client side, building simple web apps with PHP, using database systems like DB2 and MySQL, and of course learning practices such as the SDLC.

Why did I get into Ruby?

I was very fortunate to have Scott McCrindle as one of my teachers for many classes. He comes from a history of doing freelance web design and construction for various clients. His attitude has always been to try stuff out and break something, as it's how one can really learn. In early 2009, he taught a course on using a mix of Flash AS3 & jQuery for interactive experiences. Towards the end of a lecture, he put up the create a blog in 15 minutes screencast. This uses ruby on rails to create a very simple blog in almost no time at all. Watching this video and seeing the potential of Rails encouraged me to try it out. Rails definitely has a bit of a rough learning curve, especially if you're used to coding in straight up PHP. But the things it did give me such as the view helpers, generators, database migrations, and so forth kept me going.

Over the years, even while at DAC I found ways to keep using Ruby. On the job, I used it a lot to script data and reduce grunt work for myself. I also built simple side projects as practice. I started attending local meetups and social gatherings with other ruby developers. Hack nights were a big thing for me, as I was able to learn from other professionals, and teach some people new to the language as well.

For whatever reason, the simplicity of the language, and design choices of the rails framework kept me around. With what I know now, it's hard to go to anything else. Given that technology, including our tools always improve, I can't wait to see what people come up with next. Even though it has hate, I really look forward to see how Javascript improves over the next 5-10 years.

Game development

Since I was young, I have been into games. I played on the NES, N64, various games on the computer. It has been a large form of entertainment for me, as well as many in the current generation.

Throughout college, I started exploring game development. I did some basic text/command line games using C++. I toyed with it a bit in Java as well, trying tools such as JMonkeyEngine, and Slick2d. I didn't really complete anything, or really get anywhere for a while. Ruby took over my side project self for a while. When I started in Mosaic in August 2012, ludum dare started shortly after. It is a 48 hour solo game compo, where you make a game (code, art, music, sound) all in the period of 48 hours. You can use an engine or tool that's publically available, but most create the game from scratch otherwise. I started using Slick2d library in JRuby, but over time as I made more games I moved onto using LibGDX with Java.

More recently I've been using HTML5 more, with melonjs as well as a bit of impactjs. What has really kept me going through 2013, is One Game a Month which is a fun challenge to create a new game each month of the year. This has really helped for me to push my skills.

I've been building a separate project site for hosting these games. It has mostly just games right now, but I will add other web projects to it in time.

Since mid October 2013 I have been working as a core contributor on MelonJS. We're currently working towards a 1.0 release to come sometime this year.