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.


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.