Software Development as Communication

Development is generally neatly lumped in as an engineering discipline or as a science, if the title on my diploma is anything to go by. And at its core, it is inherently tied to boolean logic. There’s a satisfying objectivity to developing software, the same way there is to solving an equation—programs either run, and […]

Custom Validations in Rails

Ruby on Rails comes bundled with several validators for its models. They’re used for ensuring that the data structure of the application matches the business logic of the application. There are several built-in validators that can be used to make sure that certain properties about the model are true before they are saved—and it’s easy […]

Web Application Architecture from 10,000 Feet, Part 2 – Persistent Data & Relational Databases

In part 1 of this series, I briefly discussed the difference between the client and the server. In part 2, I’m going to focus on how to structure your server side code. If you’re making a single-page app—which you should be, if you want an app that’s as responsive as your typical desktop application—your backend […]

Yer a Developer, Harry

When I tell people about why I chose to become a software developer, I tend to give one of the following answers: I loved and wanted to make videogames. I participated in FIRST Robotics in high school and got hooked on tech. It’s a satisfying way to combine my desire to find definitive answers to tough […]

If Your Users Are Unhappy, It’s Broken

Developers are constantly making new tools that make it easier for us to get our own job done. There’s always a shiny new framework to try around the corner with a rich and well-documented API. There’s a faster, more idiomatic language coming up that’s just about to break the big 1.0 release. There’s a new software […]

AngularJS: Adding One Resolve to All Routes

$routeProvider doesn’t come with the functionality to include a resolve in every single route on an application. But universal resolves can be added in using angular.extend(), an angular method that copies one object into another. A quick refresher on resolves in Angular routes: a resolve is a dependency that should be injected into the controller for a route. The […]