This is the first of n articles about building systems in Clojure. Clojure is a beautiful language and I have been fascinated from the first moment I laid eyes on it last summer. However, what remained a mystery to me for most of the time was how to build more complex systems. I started researching the options that would allow me to structure an arbitrarily complex application in a way that is easy to understand and maintain. Here is what I found.
This weekly update is mostly about my new article series, about using animations to explain complex topics and about how I just extended the useful lifespan of my 2012 Retina MacBook.
In this weekly update, I will discuss how I turned the load times for this Octopress-powered blog from terrible to pretty decent. In PageSpeed Insights numbers: before the optimization 58/100 for mobile and 77/100 for desktop; after the optimization 94/100 for mobile and 96/100 for desktop. More concretely: on a lousy mobile connection, the load time improved from 32 seconds to a mere 5 seconds. Now we’re talking. You would presumably not have waited for 32 seconds, and neither would I. Also, I have a status update on the Clojure version of BirdWatch.
In this weekly update, I will be talking about why I started this blog in the first place, Pomodoro time management, and the new Clojure and ClojureScript version of my BirdWatch application. Again there is a live version, this time subscribing to all tweets containing the term Ferguson. Also, the results are out for the first month of blog monetization through affiliate links.
In this weekly update, I will be talking about Clojure and ClojureScript, an upcoming article on AngularJS, Grunt, Karma and Protractor and how I use Upstart to run my Play applications as services on Ubuntu.
In this weekly update, I will show you how git helped me alleviate the disastrous consequences of a brain fart. I will also share my experiences with Octopress. You will learn what helps me feel better, day in and day out. Then, I’ll talk about some changes regarding the mailing list for this blog. And last, there’ll be reviews on my audio setup for a combined work / chill area and on the Sony A7 full frame camera.
I have mostly kept myself busy with AngularJS this week. Then, my geo-specific link shortener generated its first contribution to running this blog. I have also read some more this week: The Clean Coder: A Code of Conduct for Professional Programmers by Robert C. Martin (Uncle Bob).
Last week I wrote about blog monetization through the Amazon Affiliate Program. I needed a way to serve country-specific URLs depending on the location of the page visitor, so I wrote a geo-aware link shortener using Play Framework. This week I would like to introduce that application. The source code is available on GitHub. You may find that tool useful for your own purposes, or you may just want to read this as a tutorial on how to call backend services with Play Framework and the asynchronous WS client.
Here’s something new to try: a weekly update, covering pretty much of what I keep myself busy with. That may be about what I am reading, learning or currently working on, mostly software-related. In this installment I will discuss monetization, the Hamburg AngularJS meetup and photographing in the mountains while hiking.