• March, 3 2020

    Integrating lazy loading into a ghost blog

    Lazy loading images doesn't come with Ghost out of the box, so if you want it then you have to figure out a solution yourself. Pretty much all of the solutions found online boil down to modifying the theme and the posts themselves. Modifying th...

    read more   →
  • February, 5 2019

    Image compressors compared

    I recently saw a question on reddit asking what the best way to optimize images was. Everyone seemed to respond with a different answer, with some recommending apps, some websites, and others CLI utilities.

    read more   →
  • October, 8 2018

    NextJS Impressions

    Server-Side Rendering (SSR) seems to be all the rage nowadays, so I'd thought I'd get in on the action by trying out NextJS, which is a framework for writing SSR applications in React. Next allows rendering your...

    read more   →
  • August, 28 2018

    OR operator gotcha

    It's become a common pattern in the JavaScript world to use the || (called the "logical or") operator for the purpose of setting a default value for a function argument. While it works quite well in most cases, but there ...

    read more   →
  • August, 2 2018

    Use normalize css

    To use normalize.css or to not use normalize.css. That is the question. I'll say that if you're supporting older browsers (especially IE), you should definitely be using it. However, before we get into why you should u...

    read more   →
  • July, 28 2018

    Just Nuxt Things

    I rewrote my website and blog using nuxt.js. The experience did not come without a bit of blood, sweat, and tears, but I'm happy with the end result. This is not so much a tutorial as it is a reflection on the ...

    read more   →
  • January, 20 2016

    Understanding JavaScript Prototypes

    Several months ago, I set out to get a deeper understanding of JavaScript, specifically in the area of prototypes. Prototypes were a fuzzy concept for me. I sort of knew how to use them, but didn't fully understand them. After a lot of study, I...

    read more   →
  • January, 6 2016

    Medium style image loading

    I was on the Medium website and noticed a cool effect they do when they lazy load their images. The image first appears blurry, and then slowly unblurs or fades out to reveal the actual image. I thought this w...

    read more   →
  • December, 2 2015

    Why you shouldn't loop arrays with for-in

    I had a friend ask me why you shouldn't iterate over arrays with a for-in loop, since after all, when he tried it everything worked as expected. Well, the reasoning for why you shouldn't do this is not immediately apparent, especially if you do...

    read more   →
  • November, 14 2015

    Remember directories in Con Emu

    After an hour of research, trial, and error, I finally figured out how to get Con Emu to remember directories for tabs using Git Bash. When I first started using Con Emu, I swear it used to do this by default, but I guess updates in Con Emu or ...

    read more   →
  • August, 20 2015

    The tools I use

    This is an overview of some of the development tools I've found useful, as well as some opinions and experiences I have had with them.

    read more   →
  • August, 16 2015

    My favorite features of ES2015

    ES2015, formerly called ES6, brings a lot of great features to JavaScript. A lot of the new features provide a much cleaner syntax for common tasks, and makes writing JavaScript so much better. After using these features for a while, I can't im...

    read more   →