Skip to content
Chris Geelhoed
Software Engineer
Blog
Projects
About
Contact
Blog
How to Save Empty Strings when using Shopify’s Metafields API
May 24, 2020
Or more accurately… how to get around this limitation
How to Re-Create a Nifty Netflix Animation in CSS
April 7, 2020
The design for Netflix’s browse page has remained pretty similar for a […]
How to Handle PHP Templating Without a Framework
February 4, 2020
PHP templating often gets a bad rap for facilitating subpar code — but that doesn't have to be the case...
What’s the Difference Between Primitive Values and Object References in JavaScript?
January 16, 2020
A critical distinction between immutable and mutable data...
The Dangers of the ‘+’ Operator in JavaScript
January 13, 2020
How simple addition can misfire and break JavaScript applications in ways you might not expect...
How to Deploy Node.js Shopify Apps to Digital Ocean
January 3, 2020
A comprehensive guide to deploying your Node.js Shopify App to a production-grade Digital Ocean server...
How to Overcome Tough Bugs Without Pulling Your Hair Out
December 1, 2019
8 tips for breaking through roadblocks as a programmer...
Stop Putting So Many If Statements in Your JavaScript
November 25, 2019
4 other ways of handling conditional logic in your code...
JavaScript: Sets vs. Arrays
November 17, 2019
Introducing Sets, the ES6 data type you didn’t know you needed...
How To Make Your PHP Code Beautiful With Chainable Methods
November 10, 2019
PHP has a bad reputation for being ugly. The language evolved piecemeal over time, and it shows...
Some CSS Grid Strategies for Matching Design Mockups
October 5, 2019
The world of web development has always had a gap between the […]
How to Create Lightweight Parallax Effects
January 13, 2019
Great progress has been made in the general user experience of the […]
How to Deploy Node.js Projects
January 8, 2019
Node.js has become increasingly prevalent in web application technology stacks in the […]
PHP Debugging: Pitfalls and Solutions
December 17, 2018
Web development is a challenging endeavour, and this challenge is only increasing as […]
You might not need Javascript for that: Filtering
November 19, 2018
Making collections of items filterable is a common way to make data […]
SQL Injection: A Concrete Example of What NOT to Do
August 27, 2018
SQL Injection is one of the most common ways to attack a […]
You might not need Javascript for that: Header Menus
July 15, 2018
The You might not need Javascript For That series has already covered how some […]
The Problem with Flexbox and why CSS Grid is Great
June 9, 2018
In my last post I presented 4 specific CSS problems that can […]
4 Classic CSS Problems solved with Flexbox
April 28, 2018
CSS has always been a major cause of headache for web developers. […]
You might not need Javascript for that: Netflix Style Hover Effects
February 12, 2018
Update: A new version of this post is available on CSS Tricks! […]
Flexbox: Things they didn’t tell me
December 9, 2017
If you have been writing CSS for any length of time you […]
Arrays in Javascript: The Weird Parts
November 19, 2017
Like in many programming languages, Arrays are a very important part of […]
Asynchronous Javascript: Sequential Animations
November 12, 2017
Like many web developers, I like to play with animations. Most of […]
Asynchronous Javascript: Loading Bars
October 22, 2017
In the last post of Asynchronous Javascript I showed different ways that […]
Asynchronous Javascript: Handling Delays
October 21, 2017
Before committing to web development as a career, I had already dabbled […]
You might not need Javascript for that: Tooltips
October 19, 2017
Tooltips are used all over the web, typically to give the user […]
You might not need Javascript for that: Accordions
October 15, 2017
This is the second installment of “You might not need Javascript for […]
You might not need Javascript for that: Position Sticky
October 14, 2017
This post is the first of a new series called “You might […]