Pure Functional Programming

Functional programming has a long history, with the first programming languages that use functions made in the 1950s. There has been a recent resurgence of the functional programming paradigm, so I think it’s important to be familiar with it. »

Object Oriented Programming Is Not About Objects

When I was introduced to Object-Oriented Programming (OOP), the focus was entirely on modeling our world using classes and hierarchies. Inheritance was taught immediately as a main concept. The problem with this is that Alan Kay coined the term OOP, and what we’re doing and teaching has nothing to do with what he envisioned. »

React.js: The Hard Parts

Getting started with React is easy. You don’t need anything fancy – just use codepen.io and off you go. React doesn’t need to be part of a single page app, you can progressively add it to existing apps. The API for React is mostly just JavaScript concepts. The documentation is excellent, and there are a lot of helpful free resources available. JSX can be awkward at first, but it’s just HTML for the most part, so it’s easy to pick up. »

Front-end Web Development in 2017

Web development appears to have a furious rate of change so keeping up can be overwhelming. In reality, though, stable changes don’t happen that often. To put things into perspective: the hottest JavaScript framework right now, React.js, was created four years ago. jQuery is ten years old and is still on 70% of the top 10k websites. One sane approach is to avoid the hype train and stay on firm ground. Sometimes it’s a good idea to watch the framework jostling from a distance. That said, front-end web development has reached an unprecedented level of maturity, and there’s a lot of warranted excitement. »

Long Hiatus

I haven’t posted on this website in a few years. The difficulties I have experienced in getting going again have made me appreciate even more the people who work full-time and still manage to contribute to the software community through blog posts, videos, and open source code. I want to write more, and actually publish. To get things started off, I would like to share some of the interesting experiences from the last few years as a full-stack software developer. »

Designing & Building RESTful JSON APIs

Yesterday I gave a talk at Ottawa’s Ruby Meetup. The talk was about designing and building Web APIs. The slides and a recording are below, enjoy! »

Building a website? Wordpress is probably overkill

If you’re looking to build a website for yourself or a client please keep in mind that Wordpress (or any other content management system) isn’t always the answer. Most websites can be implemented faster, cheaper and better without using a CMS. »

Ed-tech and Entrepreneurship - Lessons Learned

Over the past 6 months I have been working full-time with my co-founders on two ed-tech web applications – Curri and HelpCue. The latter is a web application that facilitates the asking of questions in a classroom. It has been a difficult experience at times but the challenge has been extremely fun and very rewarding. The intention of this blog post is to focus on the big lessons so far. »

Responsive Instruction

I’ve spent the past three months doing instructional design and curriculum development for HackerYou’s full-time web development program. The experience was tremendously rewarding for many reasons, one of them being that I learned a lot. The course kicks off at the end of January and I am convinced that it will be HackerYou’s best course yet. Before you think I’m an egomaniac…I don’t say this because I helped design and build the course. I say this because the instructors are excellent and they will be practicing “Responsive Instruction”. »

Designing the learning experience at HackerYou

As curriculum designer at HackerYou I am involved in curriculum development and instructional design for the full-time front-end web development bootcamp. Through iterative and incremental development I help decide what, when and how concepts are covered and make sure that students are actively engaged in the learning. »