Hi, I’m Nils, an AI-native engineering leader with 6+ years leading engineering teams and 15+ years building at the intersection of AI, data and complex systems, most of it remote. I founded and led the first AI team at Pitch, and at Phaidra grew from leading a single AI team to running a 30+ person engineering org, building teams from scratch and evolving the organization as it scaled. And…
I released MotoFlow in 2025 - a native Apple app for motorcycle ride tracking. As a rider myself, I built the app I always wanted but couldn’t find. MotoFlow runs natively on iPhone, Apple Watch, and Mac. The macOS app is a full native Mac application for managing your ride library, browsing routes on a large screen, and integrating photos that automatically map to your journeys. One-tap…
In 2025 I built and released DrumFlow - a pattern generator for handpan and tongue drum players on iPhone and iPad. I got into handpan music a while ago and found myself constantly looking for new patterns and rhythms to try. The problem with random generation is that it usually sounds terrible - just notes without musical coherence. So I built something that generates patterns using motif-based…
Need a hand with MotoFlow? My name is Nils, the motorcycle enthusiast behind this app and I have got you covered, rider to rider. Before reaching out, you might find your answer in our FAQ section or Privacy Policy . Contact Me Just send me an email with any question or suggestion you have, or if you just want to have a chat! Email: here4you@nils-blum-oeste.net
Introduction MotoFlow is committed to protecting your privacy. This Privacy Policy explains how we handle personal data, or rather, the lack thereof, in our app. Data Collection MotoFlow does not collect any personal data from users. There are no advertisements, login requirements, email collection, or social media integrations within the app. We do not store any information on our own servers.…
A few years ago and wouldn’t have thought to get to this point, but here we are: In less than two weeks I am going to release my first single to streaming platforms globally and a full album is in the pipeline too! While I worked hard on becoming a metal guitar player and starting bands when I was younger, the adventure came to an end at some point at university. You know, learning,…
On March 1st, 2020 the “Audible Side Effects” will come to town! This is an event I am organising as a satellite event to the :clojureD conference . We will use Clojure to work on any kind of music or sound project. This could be sound design and synthesis, algorithmic composition or whatever else comes to your mind. If you would like to join and meet, please sign up at…
At this year’s EuroClojure I gave a talk about probabilistic programming with Clojure, using the Anglican probabilistic programming system. Abstract: Probabilistic Programming Systems aim to merge general purpose programming with probabilistic modelling. They provide powerful statistical inference and thus allow developers to focus on the modelling with tools and environments they are…
I was interviewed by PurelyFuntional.tv about my upcoming talk Intro to Probabilistic Programming and Clojure’s Anglican at EuroClojure 2017. You can find the full interview here: https://purelyfunctional.tv/speaker-interview/nils-blum-oeste-euroclojure-2017-interview/
The Art of Manliness podcast (I know, just try to ignore the name, I don’t like it either) has this great episode with Kevin Kelly (Wired, Whole Earth Catalogue) about the next big things in tech. Check it out: The Art of Manliness: #267: The Technological Forces That Are Shaping Our World
Here is a quick introduction to style your Clojure JavaFX application via CSS using the garden library. Intro I am still working on a desktop application built with Clojure and fn-fx and I am making good progress, pretty happy with it so far. When I gave a talk about it at the Clojure meetup Berlin , I was asked about how it looks. Well it might not be spectacular, but I was actually quite happy…
The cloud might not be a sustainable model for handling computation in massive IoT scenarios. Instead lots of the data processing might need to be done close to the devices. Resources, efficiency and latency are reasons where such a system “on the edge” might be beneficial or even a hard requirement. A very interesting topic! A great introduction is this episode of the Software…
why not use Electron? A few days ago I gave a talk at the Clojure Meetup Berlin about building GUIs with Clojure and JavaFX. Here is the abstract: Building declarative GUIs with Clojure, JavaFX and fn-fx (Dr. Nils Blum-Oeste) JavaFX is the current standard GUI framework included in most Java distributions and the successor to Swing. It is readily available via interop to any Clojure developer. I…
The :clojureD conference is approaching quickly: February 25, 2017 in Berlin, yes that is only about two weeks away! I am really looking forward to it and hope to meet you there. We have a quite interesting mix of talks I would say. Among my favourites are “Powerful Data Access in Clojure” by Yannick Scherer , “Writing Clojure at Runtime with Nightlight” by Zach Oakes ,…
As stated in a previous post I am in the process of building a GUI application and I would like to use Clojure for that. In this post I would like to write about my experiences building a small app for evaluation of the halgari/fn-fx Clojure library that aims at building GUIs with JavaFX in a declarative way, similar to what React does for the browser DOM. Disclaimer: Why not Electron? I also…
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.…
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…
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…
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…
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)…
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…
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…
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…
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…
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…
After visiting the Mozilla meetup , I decided to give the Firefox Developer Edition a spin. Pretty smooth sailing so far. However, there was one minor glitch and it wasn’t immediately obvious to me, how to fix it: I could not set the Developer Edition installation as my default browser in Gnome (with Gnome Shell on Fedora 22). I did a manual installation of the Firefox Developer Edition and…
This weekend, Futurice met in Helsinki for our annual #futucamp . What an excellent opportunity to improve the web of trust by having a Key Signing Party . Now it’s your turn: On your next company event or wherever you meet people, think about verifying identities and matching public keys. If you meet me anywhere (e.g. meetups or conferences), I can sign your public key as long as you…
Today I visited and became a member at *Leila . You can think of it as a “lending library for things”. You can get a wide selection of tools, games, cooking equipment, electronic devices and much more. It works like this: You become a member by providing at least one of your items to the *Leila stock. Other members can lend your item from now on, without any costs. Per given item you…
I am in the process of migrating services from properitary, closed solutions over to open and libre products. OwnCloud , SubSonic and iRedMail replaced Dropbox, Google Drive, Google Mail and Calendar, as well as Spotify (way smaller library admittedly). A remaining bummer was my reliance on Android with a significant amount of Google services. So I was happy to give Mozilla’s Firefox OS a…
I was struggling to get use Facebook React’s props in Reagent’s lifecycle hooks . Don’t worry if you are in the same boat, here comes the solution. My current way of doing this is to use reagent.core/props in the lifecycle hooks. Here is a small working example (based on my work on an application for polytopic vector analysis (PVA): PVA-Parrot ), illustrating how to plot with…
Do you think your company should leverage Big Data? Are you looking for Hadoop and Apache Storm engineers already? Did you evaluate cloud service to run distributed computations and your DevOps team enjoys some good trainings about how to manage those? That’s awesome! Well, as long as you actually need all that stuff : Yes, there is a lot of buzz around Big Data. And yes , I am convinced…
So far I blogged here only about failing at my first marathon . The lessons learned paid off in the end. Meanwhile I ran two official marathons: My debut in Dresden 2013 (03:55:16) and in 2014 I ran the Berlin marathon (03:55:13). Success is worth mentioning too, right? ;) Berlin Marathon Berlin Marathon Finish Berlin Marathon Medals Both I was able to finish in under 4h. For me that’s a…
Who doesn’t know about having too many projects at hand? Guess I am not different, probably rather on the more excessive side of things here. Having finished my PhD and getting some personal issues sorted out, I feel having capacity and the drive to get my hands dirty again. Among the things I already started are some Clojure open source contributions, game experiments and a few other…
A collection of past and present projects. This list is not meant to be complete, nor always up to date. Also some of the things listed here might be in a very immature and incomplete state, be aware of dragons - and Chilicorns ! Open Source Contributions The goto place for my open source contribution is on Github of course, but let me point out a few highlights here: PVA-Parrot : Application…
Being an early adaptor for Construct 2 , it was about time to get a game built with it out of the door. I think I bought this in 2011 for 30€ or something like that. With an increasing interest in educational apps and new teaching and learning approaches I finally dug into Construct 2, building a complete, yet simple game. Without further ado: Color Duel can be found an Google Play Screen2 Screen4…
Angaben gemäß § 5 TMG: Nils Blum-Oeste In der Gasse 9 34286 Spangenberg Kontakt: Telefon: +4915115228262 E-Mail: nils@blum-oeste.de Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV: Nils Blum-Oeste In der Gasse 9 34286 Spangenberg Quelle: Impressumgenerator von e-recht24.de Haftungsausschluss Haftung für Inhalte Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die…
Last year I failed miserably on running my first marathon. Severe pain from shin splints forced me to stop running completely while training for Berlin marathon 2012. I really tried to continue running but that was probably the worst thing to do. Finally I realized I had to take a break. I stopped running completely for about three months. Having to do so was disappointing of course. But it also…
Very recently I started to use the very nice Karma Test Runner . I really do recommend to check it out. However I wondered why tests ran very slow sometimes (>20s) and sometimes they where very fast (<1s). Quickly I realised the issue was having the Chrome tab in the background: The Chrome tab which was connected to Karma was one among others. I used the other tabs for web browsing and…
I recently got not only interested in Clojure but also want to utilize it for some image analysis now. OpenCV is a very solid package for image and video analysis. Java bindings have been released for OpenCV at the beginning of 2013. Unfortunately it wasn’t as easy as I expected in the first place to use it from Clojure. I would like to show you how to do it. Here is an outline of the…
If you are using lots of command line tools (being a cool guy, you should!), you most probably have a need to organize all this stuff. If you are a web developer for example, you want to edit files, have a look on your webserver logs, monitor automated tests, handle your git repo and so on. There is a lot of stuff going on there! All these tools want to be tamed, to achieve your most productive…
In my last post I told myself “not to overdo” it. Sadly exactly this happened. I have lots of trouble with shin splints (medial). :( What happened? The last long run, which went well was on 19th August. Previously I was running over 30km multiple times on the weekend. Obviously this was too much. I ended up with painful shin splints in both legs. Normally these are a result of…
About two month ago I did sign up for my first marathon and started to focus my training for that event. In my previous post I defined a simple way to measure my progress towards the goal, running the marathon distance. Another month has passed and here is my updated report. It was not a great month for training, as we did move to Berlin and a had a bad cold for almost 2 weeks. Both things did…
Roughly one month ago I did sign up for my first marathon. At that time I also wrote a post about how I will prepare for that. So let’s have fun and create some additional pressure by publishing the results so far. How to measure progress The main goal is to be able to run the marathon distance. That’s why maximum run distance is of major importance. Secondly I want to finish in under…
AngularJS is an awesome javascript framework. With it’s $resource service it is super fast and easy to connect your javascript client to a RESTful API. It comes with some good defaults to create a CRUD interface. However if you are using an API, which needs authentication via an auth token, you might run into issues: The resource factory creates a singleton. If you do not already have an…