Why I Built a Static Site in Clojure

At a summer barbecue, a friend asked if I could build a website for his new restaurant. But what he didn't know was that I haven't built a static site in nearly a decade. However I couldn't let him spend thousands of dollars on a cookie cutter website designed by a firm that knew nothing about his restaurant. We started coming up with ideas right away over a couple of beers.

Your Job Isn't Writing Code

Every line of code you write is a liability. That line of code you just wrote adds complexity to your code base, gives you more nuances to remember, it might even be a bug. If code is so expensive and dangerous. What can you do? After all, you are a developer. The answer: You must remember your real job… Delivering value to the users. Users don’t care what your class hierarchy looks like.

Universally Testable Dependencies in JavaScript

JavaScript dependencies are notoriously hard to mock and test across framework and environments. However, Dependency Injection (DI) ensures testability. It is common in statically typed languages, like Java or Go, but is also useful in dynamic languages like JavaScript. This article will guide you through a simple technique that can apply to any JavaScript code base, frontend or backend, independent of frameworks and libraries. The technique I am going to demonstrate is arguably not true DI, since the dependencies are still managed by the module using them.

ClojureScript Setup for Leiningen Project With Emacs

A good development environment if fundamental to being productive. This is especially true for Lisps. A good environment can greatly speed up your development process and allow you to utilize the full power of Clojure or any other Lisp. This tutorial is focused on a ClojureScript environment for a Leiningen based project being developed in Emacs. Why Emacs? Emacs has a great setup for most programming languages but really shines when it comes to Lisps, including Clojure.

How Lodash Worked Itself Out of a Job

I really loved lodash. It brough the joy of compact functional code to JavaScript. Especially 6 years ago when I first embraced it. It was a wonderful library. Back then, there was no ES6, no Babel, and terrible browser incompatabilities ran rampant. Lodash along with jQuery were the saving light of that time. I gravitated towards using Lodash because the first language I learned was Scheme. It had functional programing at it’s core, and highly influanced how I think about code to this day.