fn-fx-ui

Desktop GUIs with Clojure in 2017: What are the options?

As I am in the process of developing an application for data analysis on chemical data the need for building a desktop GUI came up. Why desktop you ask? Excellent question! I think for this particular project, the combination of ease of use, data privacy and performance make it worth exploring an approach with a local, self-contained application instead of anything involving remote servers. Actually in the end we might build a SaaS too or move to such a model completely. ...

January 20, 2017 · 5 min · Nils
Generative Art with Processing

Generative Art with Clojure via Quil and Processing

Recently I got some interest in generative “art”. Without going into what qualifies as art and what not, here are some of the things I created: Generative Art with Processing Generative Art with Processing Generative Art with Processing Generative Art with Processing Generative Art with Processing Generative Art with Processing Generative Art with Processing Generative Art with Processing The code generating these images is available on github over here. Try them live, as a couple of these images are from actual animations. ...

October 3, 2015 · 1 min · Nils
microservices

Microservices, Music and More @ Futurice Beer&Tech

A few weeks ago Christoph and I gave an introduction to MicroServices at Futurice’s Beer&Tech sessions in Berlin. The idea was to collect our impressions from the DevOps conference 2015 in Berlin. I think we covered a lot of ground here from business value to technology and some simple live examples. The tools we introduced to were Docker, Consul and Prometheus and how to glue them together easily. As part of giving this talk, I developed a small playground with the mentioned technologies. I already blogged briefly about this project called “MS-KOS”. The live coding examples can be found on Github: MS-KOS ...

September 5, 2015 · 1 min · Nils
guy_listen_to_music

Getting rid of Facebook on your Spotify account

When Spotify started, they only allowed to create accounts via your Facebook account. Well this sucked of course, and they moved away from that. However, having signed up at that time, I was stuck with having to use Facebook to get access to my Spotify account. Of course one could easily create a new account without Facebook these days and there are even ways to migrate your playlist and other data to that new account. The Spotify support knowledge base suggests, that you have to create a new account and to me it does not read like you could keep you playlists and other data. ...

August 5, 2015 · 2 min · Nils
clojure_letfn

letfn drilldown: A Clojure special form in detail

Motivation A short discussion on the #clojure-berlin channel ( Clojurians on Slack) got me interested in the letfn special form of clojure.core. The question was raised if the docstring of letfn describes it well. Wether it is, or not, I got interested in how it works and more specifically why it’s syntax is different from let for example. Here is the documentation for letfn: (doc letfn) ------------------------- clojure.core/letfn (letfn [fnspecs*] exprs*) Special Form fnspec ==> (fname [params*] exprs) or (fname ([params*] exprs)+) Takes a vector of function specs and a body, and generates a set of bindings of functions to their names. All of the names are available in all of the definitions of the functions, as well as the body. As you can see it takes a vector of function specs and every function spec has the form (fname [params\*] exprs). I was quite surprised to see such a syntax for the specs: Each spec is a list, but it’s not quoted. So outside of the letfn special form the spec would be evaluated. ...

July 31, 2015 · 5 min · Nils
andy-mueller-maguhn-ccc-berlin

WWW, Software, Politics, Freedom: Arte Documentary about the Web

I just watched a documentary on Arte about the World Wide Web from it’s origins to it’s modern importance and related aspects like freedom of speech, copyrights, digital surveillance, politics and the like. I recommend checking it out, especially if you have an interest in the Internet’s role for current and future societies or - on the other hand - don’t know much about that. You can watch it right here, available in French and German: ...

July 30, 2015 · 1 min · Nils
ClojureBridge

ClojureBridge Berlin and Clojure learning groups

Recently I had the chance to be a coach at ClojureBridge Berlin. You might not have heard about this event before, but maybe you know RailsBridge. ClojureBridge’s mission is: ClojureBridge aims to increase diversity within the Clojure community by offering free, beginner-friendly Clojure programming workshops for women. Of course I did not hesitate to volunteer for that. I have to admit though, that I also had a hidden agenda: I wanted to test the hypothesis, that a LISP (Clojure in this case) is well suited to get started with programming. When talking to experienced developers about Clojure, I often have to face a negative reaction towards LISPs, sometimes also about (mostly) pure Functional Programming (less these days, as FP is so hip again). When I told some colleagues, including some with a formal computer science education as well as way more experienced devs that me, that I am going to help programming beginners to get started by using Clojure, they most often asked back if this is some kind of sadistic prank. ...

July 24, 2015 · 3 min · Nils
MundaneClojureForMortals

Mundane Clojure for Mortals: Building a simple Web API

A while ago I did a small introduction to building a simple REST API with Clojure from scratch at Futurice in Berlin. While preparing that, I did create a small tutorial and demo project to follow along ( GitHub, Tutorial). The presentation was recorded on video and you can check it out right now, right here: [embed]https://vimeo.com/125578412[/embed] Feedback, as well as pull requests are highly appreciated. The tutorial is not complete yet and has some glitches here and there I guess. However, I already got feedback, that I was a good starting point for multiple people without previous Clojure experience. Thanks Nils ...

July 23, 2015 · 1 min · Nils
MS-KOS

MS-KOS: A Micro Services Playground using Docker, Consul and Prometheus

As a demo for a talk my colleague Christoph and I gave at Futurice, also visited by students from HPI, I put together a small playground for creating and managing Micro Services. It’s work in progress, but usable already and might be a good starting point if you would like to try out your own setup with Docker, Consul and Prometheus. The actual nice thing is, that it’s basically just a collection of Docker CLI commands. Nice images are available already, I just threw in a super simple Clojure Service. ...

July 17, 2015 · 2 min · Nils
podcast

Podcasts for developers: A few recommendations

I like listening to podcast while running. During marathon preparation I run around 50-60km per week, so there is plenty of time to learn exciting stuff about latest technologies. Here are my favorite podcasts for software developers: Software Engineering Radio http://www.se-radio.net/ Software Engineering Radio is an awesome Podcast if you are a professional software developer and want to hear about tech in-depth. This is probably my favorite Podcast of them all: Excellent choice of topics, great guests and high quality production. ...

July 4, 2015 · 5 min · Nils