Compose Software Like Nature Would - RubyConf 2024

Many years ago I gave a talk that combined biology and software design to a local JavaScript meetup. It was an interesting concept so I proposed it as a talk for RubyConf 2024. Surprisingly it was accepted! The slides can be seen here. »

People first

I have not written anything on this website in many years. I have had the pleasure and great privilege of being completely lost in my work on impactful projects over the past six years. The work has been challenging, and the people have been great. I write this as a reminder to myself that what makes a great team and organization is people. »

Rails View Components

Ruby on Rails is a framework that delivers a tremendous amount of developer productivity and happiness. Unsurprisingly, Rails application also go through growing pains as they mature. Models and controllers expand until small objects are extracted to keep them under control. The same happens with Rails views; they start out powerful and easy to use and slowly grow out of control. The views become hard to reason about and maintain. Views are also inherently hard to test, so they become the riskiest part of a Rails application. »

Compose Software Like Nature Would

Inspired by biology background, I combine some ideas from functional and OO programming into a presentation about software design. I gave this talk at the OttawaJS meet-up group in September. The slides can be seen here. »

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! »