Writing A Timer In Clojure

What I learned from this experience.


5 minute read Recently, I’ve been working on a desktop application that let’s you manage multiple timers. It’s at the point where it’s ugly but it works, so I’m going to share what I’ve learned so far. Using core.async For Timing And Control In this application, I have two kinds of entities: Timer - This holds a duration and an amount of time that has elapsed. Alarm - This is responsible for providing some kind of effect (like making a sound) when a Timer has finished.

Spacemacs Tips

A Guide for Those Who Want to Give Spacemacs a Try


6 minute read

Spacemacs is a radical reconfiguration of Emacs that tries to bring the good parts of vi and emacs together while also adding some good ideas of its own. A few months ago I gave it a try, and the longer I use it, the more impressed I become with how well this curated Emacs system comes together. With that said, there are a few things that were not immediately obvious to me that I wish I had known sooner.


Rich Hickey Deconstructs Semantic Versioning


7 minute read tl;dw When Rich Hickey speaks, it’s a good idea to listen. He is able to see things that many of the rest of us cannot, and he is able to analyze and explain his thoughts with a precision that is rare even among programmers. Little did I know that there was a problem with semantic versioning. It seemed like a reasonable system, and I never gave it a second thought until I watched this presentation where Rich exposed what the semantics of this system actually were.