Software Engineer | Proud Canadian

Updated Thoughts on Golang
Jun 12, 2016
It has almost been a year since I posted my thoughts on go. Since then I’ve used go for several small projects. Here are my updated thoughts on the language. The Good Compiling into a binary By having a binary, the deployment process can be as simple as updating a binary on the server. Also, having the ability to cross compile come with the tools you get with the language takes care of a majority of cross platform concerns.
Understanding Promises by implementing
May 13, 2016
As a front-end developer, most of my time is spent inside a framework that gives me access to a lot of modern features. There are however moments where I have to step outside of my framework. Lo and behold, these moments are the points in time that remind me of all the things I take for granted. Promises is one of these things. In this post, I walk through coding up a simple implementation of promises.
Migrating To Hugo
Aug 22, 2015
Both site generators uses YAML. Both defined their posts using Front Matter. There’s even a tutorial on migrating from Jekyll. Piece of cake? God no. The speeds Hugo claimed to achieve were incredibly appealing. I only had about… 20 posts and Jekyll was already starting to take more than 5 seconds to build on my (albeit cheap) web server. The static file server was already written in Go, maybe I should just go with a full Go solution?
Thoughts on Go
Aug 16, 2015
Here are some quick points I’m jotting down on what I think/feel about Go. Things I like about Go Gofmt and GoImport for code consistency / productivity Functions can return multiple values Go’s interface system and duck typing Performance “Production Ready” Basically the language itself is pretty awesome. The tools built for development are fairly good. Google says the things built into Go are production ready so you can build/run Go code with confidence.
JavaScript Add Function
Aug 08, 2015
A few days ago, a colleague of mine asked me out of the blue whether or not the following is a good JavaScript question to ask a “senior front-end engineer” interviewee. Implement the “add” function which works as follows: add(1, 2); // 3 add(1)(2); // 3 add(1, 2, 3); // 6 add(1)(2)(3); // 6 At first glance, I thought to myself: “Pfft, this is easy. Adding numbers?”. Upon further inspection I realized the trick to this question is in the number of ways this function can be called.
Angular JS Conventions
Aug 05, 2015
Looking back at some of the angular code I have written in an older project, I decided to document some of the thoughts I had at the time when writing said code. Remember, this was all before John Papa’s Guide was popularized (or even created?). There are conventions now that the majority of developers have agreed on that are different than what I am describing below. Exposing data from Controller to View The way Angular 1.x shares data between a controller (.js) and a view (.html) is through the use of a $scope variable.
Endless Horizontal Scroll
Aug 04, 2015
Hammering away at a project at work, my fellow front-end colleague runs into a requirement where he needs a horizontal scroller. “They want Netflix style scrolling” he told me. He asked how I would implement it but at the time I was busy so I couldn’t really help him. One thing different about our desired scroller is that instead of “chunked” they wanted “continuous” scrolling. Damnit. Chunked scrolling would be easy since there is a clear definition of state: you see one set videos, click next, then you see the next set.
Obsession with my Editor
Jul 29, 2015
It’s weird that I have an obsession with optimizing my editor. I want to say it’s just part of being a programmer and wanting to do things efficiently. Editing code shouldn’t be treated any differently right?. My habits however has me a little concerned. Sometimes I would frequent /r/vim more than a couple of times a day. At any given time, maybe a maximum of around ~50 people browsing it? But maybe, just maybe, one of those 50 people shares a must-have gem that I can’t afford to miss.
Jul 22, 2015
Note to self: if you ever want to be at productive at work, never ever mention the game 2048 or you will kill the productivity of the entire engineering team. This happend before, it shouldn’t have happened again but it did. Someone brought up 2048. I spent 20 minutes playing 2048. Someone linked to the doge version of 2048. Played that for 20 minutes. Someone linked to a bot playing 2048.
Practicing ES6
Jul 20, 2015
Now that the ES6 spec is finalized, I figured it is time to start learning it. The best way to learn something is to start doing it; this is what I did this weekend. Writing ES6 is a pain though since most support for it is accomplished through a transpiler. It’s kind of frustrating that Node doesn’t support it. Even with the –harmony flag, there are fundamental things (such as requiring modules) that are not compatible with the commonjs style of importing.