Skalérbar

The Best In Class blog

In this post I?ll walk you through some of the steps I took to bring Brians Brain down from 340ms per frame, to about 35ms in compiled Clojurescript. Although this is a performance boost of about 970% I think its still much too slow. In the current brute force traversal of the of the array we are essentially iterating 90 columns, 90 rows multiplied by 8 passes while testing for active neighbors. Although running all 8 passes on each cell is highly unlikely our worst case scenario is 64.800 lookups for each frame ? but even here, 35ms is ridiculous ? So lets a look inside.

In this post you'll find a 20 minute screencast which demonstrates how to port a Swing UI app to Clojurescript and HTML5/Canvas. My weapon of choice for this excercise is LightTable which Im currently trying out instead of Emacs. I?ll show off a few of its features, but more to come on LightTable in the future.

If you?ve always wanted to implement a purely functional 2D rendered cellular automaton which runs in parallel on all your cores, this post is for you! I?ll walk you through how to render a 2d model of Brians brain in just 67 lines of Clojure.

I think we?ve all been attracted to the Lorenz Attractor, but how many of us have had a closer look at an Ikeda map? Let me walk you through building an animated anti-aliased 2d renderer of mathematical functions (in this case Chaotic) in just 80 lines of Clojure! ? Batteries included!

Recently I had the good pleasure of reading a blogpost which demonstrated a fun exercise in both Ruby and Scala, namely scraping newsgroups. I had a look at both solutions and decided to roll one in Clojure as well, examining the differences between the famous Ruby, the Juggernaut Scala and the elegant Clojure. Clojure stands out by being purely function, yet still allowing local mutation using transients.

These days Microsoft is often being hammered in both the news and in Open Source communities across the globe, so on behalf of the Clojure community I would like to submit a small tribute to the man at the wheel, Steve Ballmer. First we?ll write a small lisp macro and use that for some simplified java interop.

In my last post I set out to solve a classic concurrency problem called ?The sleeping barber? and contrasted an STM solution with an Actor based solution. It occurred to me afterwards, that the interest in concurrency is quite huge these days (and for good reason), so I?ve decided to walk through the deadlock/livelock/starvation trap called The dining philosophers.

A topological overview of two new hot languages firmly seated on the JVM: Clojure & Scala.
Both languages have a lot to offer in terms of functional paradigmes and reduces boilerplate compared to Java. But where Scala offers more for ease of adoptation, Clojure offers more power by demanding purity.