Me in 10 seconds:

An energetic and customer-focused full-stack engineer with tons of Clojure, Postgres, and JS experience.

Tracks and spec/select

Maybe Not covers a lot of ground, and I want to explore the declaration of destructuring contexts. What does that mean? Read on to find out! Let’s explore a specific part of the talk and see how it compared to this shape-based destructuring library of mine called Tracks. Here’s a link to that part of the talk: Many times only a subset of a map is needed to perform an action. [Read More]

Choosing a dog breed the 'Hard Way'

Linear combinations can make life easier

How did you choose what dog breed to get? When my fiance and I decided to get a puppy, we didn’t know much about dogs, dog breeds, or how or much work it would be! So I decided to do some hacking. Gather data about dog breeds. Use that information to figure out what breeds worked best for our life. ??? Profit. How to gather this data? I could have spent 10 hours or hired someone to do this… [Read More]

Side Effects Aren't Legos

Don't mix side-effects with pure code

A referentially transparent bit of code can be replaced with the value it produces without altering the behavior of our program.1 Approaching problems using them makes programming an elegant process of building up transformations like Legos until you have a rad logical structure. Like Legos, each function call is directly and concretely connected to the piece above and below it. Also like Legos, mixing non-Lego-like objects tends to make building things much more difficult. [Read More]

The Virtures of Dumb Code

I advocate making your code as unsophisticated as possible. What is dumb code? Dumb code is code that is understandable for your audience without being reasoned about too much. A key feature is simplicity. The best thing to happen to programming is that people started using JSON. Like a cave painting that explains where to hunt, data at rest is the dumbest, simplest artifact you can generate or work with. [Read More]

Quickstart: Boot and ClojureScript

Note: I would look into [shadow-cljs]( if I were doing this in 2019! Why Clojurescript? Clojurescript (cljs) is the most highly interactive way to do front-end development that I’m aware of. Quick feedback helps enormously when you’re not the kind of programmer who likes to ‘play computer’ in their head. If you’d like a deeper explanation for why cljs is so awesome (and it is), check out Clojurescript for skeptics: [Read More]