Introducing Daily Reading Notes

Recently I ran an experiment of posting daily reading notes on this blog. This was very much a personal experiment. Making these posts every day reinforced my reading habit. I felt motivated to set aside time to read, and I got the chance to reflect on my reading. It also provided the opportunity to share more with others. I plan on keeping this habit going, but this blog isn’t the right place for it.

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.