How to Add Algolia Search to a Gatsby Site
This weekend I shipped a new feature for my blog--search! Just have a look up and to the right. You should see it up there. Adding search was easier than I expected. I had almost no understanding of the work involved in making this happen, but between the Algolia service, their react-instantsearch…
Graphs Are Everywhere
A few years ago, I was interviewing for a new job and it was the first time I was asked to whiteboard algorithms. It did not go well. In fact, I got my ass handed to me . I was not prepared. With no formal education in computer science, and just a couple years of writing mostly HTML templating and…
When `else`s Make Your Code Worse
or An Example on How Small Refactors Can Improve Your Code
Recently, I wrote a tweet that got some attention about not needing else s in your code. Some people got a bit upset about that. Here's that tweet. I still stand by what I said, and I recently came across some code that was a good example of what I was talking about. The code looked like this (more…
A Plea for Imagination
aka Learn to Remix that Shit! 💩
Some of you reading this know that I occasionally dust off the old microphone, fire up a text editor and make some educational material that I put on the interwebs. Mostly on egghead . You might even be aware of this very blog post as a direct result of watching one of my lessons. If so, that's…
Just Enough FP: Composition
Composition is the culmination of all the previous "Just Enough FP" blog posts. It's where we combine our knowledge of higher order functions , currying , partial application , and pointfree programming into a new concept that can really unlock our functional potential. Before I get into…
Just Enough FP: Pointfree
Pointfree programming is a style of programming free of points. Great, you got it. Blog post over. Just kidding! While my first sentence is true, it's pretty unhelpful, so let me explain what pointfree programming is a little bit better. In order to explain pointfree, we first need to understand…