Matthias Nehlsen

Software, Data, and Stuff

Hello World

Who am I? My name is Matthias and I had my first computer before I had my first bike. I've spent most of my career working in IT project management and systems engineering, having run my own company for over a decade. I was doing well financially, but really wasn't satisfying my own curiosity. Who wants to spend their time chasing bugs in systems they didn't have any part in creating. I don’t.

After some wandering, I discovered what a delight it can be to write these amazing little things called 'programs' that come to existence almost completely through the workings of the mind. A couple of years ago, I finally decided that it was time for a major change. I knew I really wanted to be spend my time and energy in the creative process of developing applications that elegantly solve problems, so I made the move, and I haven't looked back since.

Why am I blogging? I am fascinated by the idea of reasoning over live data streams. There are quite a few things that I still need to learn in order to turn my ideas into working code. I find that I learn particularly well when explaining things to others, so writing this blog seems like an awesome idea.

Recently I started to work on a reactive web project for my portfolio, written in Scala using the Play Framework. It presented an ideal opportunity to make this project open source and use it as the first thing to write about. This has been tremendous fun and really exciting so far. I put that project called BirdWatch on GitHub, installed a demo on a web server and showed it to a handful of people, not thinking that it was anywhere near being published in a broader sense.

screenshot

Then it got mentioned on Twitter, retweeted 16 times and before I knew it, I had visitors from 272 cities in 48 countries on that web server. I know because out of curiosity I wrote a little logging routine that does GeoIP-lookup for every IP-address visiting that server on the fly, but that is the topic for a future post, potentially with a live visualization for the curious website owner.

What will I be blogging about? I will be blogging about functional programming, reactive data processing and data visualization. I am particularly interested in observable data from the real world moving through information systems, ideally for visualizations that are both useful and pleasant to look at.

For the time being, you can expect me to use Scala, Play and Akka on the server side, a beautiful technology stack that allows solving concurrent problems in surprisingly short amounts of time. For the client side I am just getting started with D3.js, a JavaScript library for data-driven DOM manipulation. It allows for absolutely stunning visualizations, even though I am nowhere near that as of yet.

You can also expect me to continue getting live prototypes up and running for the things I write about, just like the one for BirdWatch. I find code that is not executed to be a wasted effort, and there is no better proof for any code than running it. I already learned a lot regarding the architecture of BirdWatch and there are a few things that I would do differently in the future, but that is also a topic for a future post.

How can you leave feedback? I am starting this blog because I am hoping to learn a lot in the process, particularly from interaction with you, the reader. So please comment on the blog posts, correct me where I am wrong, and let me know where you think a more elegant solution could be found.

Most importantly, ask if there is anything that you find difficult to understand. My goal in all of this is to explain things as clearly as possible, so please let me know when I've failed to do that. Ask questions in the comments section if you think that others might benefit from the answers as well. Of course, you can also always contact me by email, though that may take longer for a response.

You can also follow me on Twitter @matthiasnehlsen. I just launched my feed, so you'll get to be among the first to follow me, and it will make keeping track of when I published a new post much easier for you, as well as other things I find interesting in general.

Cheers, Matthias

© 2022 Matthias Nehlsen