Categories
Talks

How to become a better software engineer by doing nothing (Short talk)

@re;publica (2019)

This talk is about pair programming and mob programming at sipgate. Originally it is 45 minutes long a held together with Co-Author Benjamin Kluck.

It was an honour to speak at re;publica 2019 with a shortened version of the this talk. 15minutes are a short time ?

Categories
Talks

How to become a better software engineer by doing nothing (Lightning talk )

@CommConn2019

This talk is about pair programming and mob programming at sipgate. Originally it is 45 minutes long a held together with Co-Author Benjamin Kluck. At CommCon 2019 i had the opportunity to sneak in a lightning talk leaving me with only five minutes to explain everything ?. See for yourself:

My part starts at 43:23

Categories
Projects

TALK TO ME – Interactive Art

A website that truely understands what you think.

Speech recognition is widely used today and most browsers support it out of the box. Most homes have smart assistants to interact with. So why should art be static? Just let this website listen to you show you what you want.

The web-app was created using Typescript and React.

Categories
Projects

TinyDash Calendar Widget

A simple calendar widget for Android written in Kotlin.

As i was looking for a clean simple calendar widget on Android i just couldn’t find the right one. Then i decided i have to make my own.

The app was written in Kotlin.

Categories
Projects

Playlist manager 3000

Do you have a few big messy playlists on spotify? This app helps you get the most out of them!

Playlistmanager 3000 gives you the ability to gain insight into your Spotify playlists and create new ones based on different sortings and filters. Group songs by decade? No problem. Find the most popular songs? Got it. Also enjoy beautiful graphs!

Categories
Blog

How i built my own deployment and why – Part 1

This is a story about how i came in touch with cloud deployment and in the end built my own.In my previous time i learned a lot about application development and only rarely had to deal with deploying software or managing infrastructure. This story goes from Apache and “www-data” via kubernetes, netlify, heroku to self hosted. It usually includes docker.

Ok. So why did i build it myself? Initially i would have loved to deploy everything like i would if i was serious about production deployment but there is just no way i would pay ~100€ a month for a few websites or “petstore” services. I also wanted to be close to what i do at work: writing scaleable, reliable and maintainable applications and deploying them to the cloud. I’ll explain more about why i do it in the next part.

It all started a few years ago when Docker really took up the pace and you just could’t ignore it anymore. With docker everything (looking from a hosting perspective) is the same. It is the point where infrastructure ends and application starts.Intrigued by that i wanted to deploy my code like that. Soon after that Kubernetes was released to the public and minikube was THE tool to run it locally (or on a cloud instance in this case (so i thought)).

“Sounds great” i thought sice that would give me the opportunity to learn Kubernetes like a pro and still manage costs. You may already think that this is stupid since this setup implies there is a bare metal server, running a VM, running another VM (minikube), running Kubernetes pods, running my Docker containers. You’re right. But that did not stop me. Soon i discovered that its impossible since a VM requires kernel stuff that you simply dont get in a cloud VM instance.

I took a deep breath. My dream was shattered into a thousand pieces.

For a “minimum viable deployment” it seemed reasonable to deploy by hand using a ssh connection to the host and running my containers using `docker-compose up -d`. Together with nginx and Let’s encrypt this seemed like a solid setup for now. I simply exposed ports from the containers and and configured nginx to proxy to `localhost:8888` for example, do the SSL stuff, redirects, and loadbalancing.. Since cloud hosters usually have a configurable firewall around the Virtual Private Network (VPC) where the VM is hosted, i used that to limit connections to port 80(HTTP), 443(HTTPS) and 22(SSH).

Perfect, i thought to myself.

Of course there is a lot of manual work involved but at the pace i was working on my private software (and therefore my deployment as well) it felt good for now. As a general rule you should only automate work once you do it often enough manually and are getting annoyed by it.

Of course this wasn’t the end.

Categories
Projects

Lightmatch

Match Philips Hue to Spotify album covers. Enlighten every Party!

Album covers have always been a big part of music. From vinyl through Cassette tapes to modern streamig services. Images are always at the front. Matching your lights with the colors of the album brings a new level of immersion to music. Colorful lights will inspire the mind and set the right mood for every song.

The web-app was created using Typescript, React. The service is written in Kotlin using Vert.x as application framework. Data is stored using MongoDB.

Categories
Projects

RaspberryLife

Sensor your life with RaspberryLife open source home automation

RaspberryLife is an open source project to make home automation accessible for everyone. It provides implementations for client devices, server and hardware components. Workgroup of the Rhine-Waal University of Applied Sciences.

The Server was created using SpringBoot running on a RaspberryPi. The web-app is built using JQuery and HTML. The Android app is pure Java. Modules were built on Arduino and are addressed via a 2.4GHz wireless connection

Sadly the Project was used in production ?

Categories
Blog

Hello this is blog.

Of course i had to start a blog again.

Luckily this time i already have a follow up post in mind.

Categories
Projects

The Soundboard

It is a board with buttons on it and it plays sounds when you press them!

Complete with playqueue, user preferences, search, stats and something that you might call an API but probably shouldn’t.

The app was created in MeteorJS.