Matthias Nehlsen

Software, Data and Stuff

Building a System in #Clojure Part 3 - Redesign

I recently did a lot of transcript proofreading concerning enlightening talk for my talk-transcripts project. The most recent one was Design, Composition and Performance, the tenth transcript of a talk by Rich Hickey. That one in particular got me thinking that there are quite a few ideas I want to adopt in BirdWatch, the application about which I started writing this series of articles. That calls for some redesign, so it’s probably time to make up my mind what exactly it is that I am trying to solve with this application.

Weekly Update: Talk Transcripts, Clojure Architecture, OS X Yosemite

As I have no other article to publish this week, I thought a weekly update would be in order. Last week I wrote about making relevant and interesting talks more accessible. In the course of that project, I had eleven talks transcribed so far, four more than when I announced the project last week. Not only have I received great feedback about how appreciated this is, I have also learned a lot myself while proofreading the transcripts.

Talk Transcripts: Rich Hickey, David Nolen & more

TL;DR: I wanted to study the content of some talks in written form but there were no transcripts available. However, I believe that the valuable and relevant content of these talks should be accessible to everyone, including those for whom ‘sit back and listen’ might not be the most viable option. To make that a reality, I had transcripts made. So far, I have compiled five talks by Rich Hickey, one talk by David Nolen and another talk by Guy Steele. The transcripts are available on GitHub.

Building a System in #Clojure 2 - Transducers

TL;DR: This article covers the usage of Transducers in Clojure, spiced up with some core.async. Here’s an animation that shows the information flow of the composed transducer that we are going to build in this article:

If any of that is of interest to you at all (or if you want to see more animations like the one above), you may want to read the following article.

Building a System in #Clojure 1 - Overview

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.

Weekly Update: PageSpeed Insights, optimizing Octopress & more Clojure

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.

Weekly Update: Pomodoro, all-Clojure BirdWatch, Income

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.