This weekend I made a small web framework in Clojure. It was written in less than 4 hours, is less than 100 lines of code, and it doesn't do much. Here's the code for it.
Last post we talked about simple vs easy in the context of general error handling. Here's a more general framework for thinking about simplicity, coming from Rich Hickey's talk Simple Made Easy. All distinctions made in this post are taken straight from that talk.
Lately I've been been thinking about simplicity in software. When I say simple I mean: not compound. This is different from easy, which is a measure of familiarity. If this distinction is unfamiliar to you, I recommend you stop reading this and go watch Rich Hickey's talk Simple made easy first. With that said, let's turn to the subject matter at hand: What does simple error handling look like?
This week I wanted to implement a simple authentication mechanism for a small website. I didn't want to add any complicated login mechanism, and I wanted to customize the site based on who logged in. Here's how I did it so I using a basic auth and ring middleware.
Om is a Clojurescript library to represent UIs. It interfaces with React.js, which is what Facebook built and is using to make their app. By using a efficient algorithm for computing DOM Diffs, inspired by Doom 3's game engine render loop, the complexity of keeping track of app state is reduced significantly without performance costs. This is a very brief overview of a Om component.