Skip to Main Content
Below you’ll find my blog posts. You can check out the
How Things Work
How Browser Caching Works
Have you ever noticed that when you load a web page for...
How WebSockets Work – With Socket.io Demo
As a developer you may have heard the term WebSockets thrown around in...
Installing the Docker Client CLI on 32-bit Windows
If you’re unfamiliar with it, Docker is one of the newer development...
The 3 Rules of Dev Blogging
This post covers a short lightning talk I gave at OKC.js this...
Controlling Spotify with Slack and a Raspberry Pi
After moving to a newly constructed floor at Staplegun (where I work),...
Programming Concepts: Type Introspection and Reflection
Often times during the runtime of a program, we need to ask...
What’s with the Name?
The Societea. What does that even mean, and why is it the domain...
My History with Beer
Seeing as how we’re approaching the New Year, I felt this topic...
Building a JSON API with Rails – Part 5: Afterthoughts
This post has been a long time coming, but I wanted to...
Programming Concepts: Static vs. Dynamic Type Checking
When learning about programming languages, you’ve probably heard phrases like statically-typed or dynamically-typed when referring...
What Does It Really Mean to Support IE8?
Note: This post is geared towards developers who have heard about IE8...
Programming Concepts: Concurrency
For the third post in this Programming Concepts series, we’ll be discussing...
Metaprogramming in Ruby: Part 2
Welcome back to the Metaprogramming in Ruby series! If you haven’t done...
Metaprogramming in Ruby: Part 1
What is Metaprogramming? Metaprogramming is code that writes code for you. But isn’t...
Programming Concepts: Compiled and Interpreted Languages
As with my previous Programming Concepts post over the Stack vs. the...
My Pokémon Dream Team
Attention all Pokémon masters, today I’m going to share the six Pokémon...