🇩🇪 — Hi, ich bin Martin Ueding. Je nach Situation bin ich Physiker, Maschinenlerner, Softwareentwickler und Fahrradaktivist. Ich habe recht früh mit dem Programmieren angefangen und schreibe darüber im Bereich Computer. Im Physikstudium bin ich immer weiter in die Computerphysik gegangen, meine Studiumsunterlagen sind noch immer Teil dieser Webseite. Nach der Promotion bin ich in die Wirtschaft gewechselt. Seit dem Abitur habe ich meine Wege mit dem Fahrrad erledigt, Radtouren unternommen und irgendwann auch Radreisen.

Aktuell schreibe ich am meisten zu Verkehrsthemen, manchmal auch noch ĂĽber Wissenschaft, Maschinenlernen oder anderen Dingen, die mir einfallen. Die eher technischen Dinge schreibe ich meist auf Englisch, den Rest auf Deutsch.

🇺🇸 — Hey, I am Martin Ueding, a physicist, software developer, machine learning researcher and a traffic policy activist from Germany. On my blog you can find all my physics study material, English articles about computer and programming, about science and travel. The articles about traffic policy are in German.


Mich findet man auch auf anderen Plattformen und Webseiten:


Keyboard.io Model 01 Keyboard Switch Failures

The Keyboardio Model 01 is a nice keyboard, but the Matias Quiet Click key switches are getting on my nerves. I had various issues and have replaced four of them in the past weeks.

For a couple years I have a Keyboardio Model 01. I quite like it, but the key switches are my least favorite part. They have used Matias Quiet Click switches. They are stiffer than my favorite Cherry MX Brown. The difference is not so extreme, and they are reasonable pleasant to type on.

My grievance is that they apparently break rather quickly. The first issue was the R key, it started to emit multiple characters when I pressed it. I had a pleasant e-mail with Jesse Vincent, one of the producers. He has told me that it could be residual lubricant from the factory. I should be able to clean it myself, and he gave me some instructions.

Read more…

My GNU Autohell Story

In academic software development I have seen one software suite which was known to be hard to compile. I was tasked to do try it, and ended up writing a 1200 line Bash script which took care of all the edge cases.

While I was working on my Master thesis at the university in 2016, I worked with a software package for lattice quantum chromodynamics simulations. It is written in C++ and has multiple modules, resulting in around 600,000 lines of code. One of my first tasks was just getting it compiled on the computer. That sounds like it should be easy, but it was a five week journey into GNU Autohell. This story is a couple of years old, but a recent conversation with a coworker has brought it back into memory and I want to share it now.

Simulation software of that type needs to be run on a supercomputer, there is no way that one could gain any traction on a single server, let alone a laptop. Academics get their computer allocations via grants, and larger groups usually have multiple grants in parallel on different machines. Each machine has a slightly different target audience and therefore it makes sense to have budgets on multiple machines. The work group has its own simulation package, but my task was to try out the “competitor's” package to find out whether it would be useful for us. Perhaps a collaboration would emerge if it turned out to be viable. Nobody in the group had significant experience with that, so I had to start from scratch.

Read more…

Clusterfuck-Kreuzung B 56 und Am Herrengarten

Bechlinghoven und Vilich-MĂĽldorf sind durch die B 56 getrennt. Eine relativ kĂĽrzlich neugestaltete Kreuzung dort ist eine einzige Katastrophe. Also fĂĽr alle, die nicht mit dem Auto fahren. Eine spannende und vor allem frustrierende Spurensuche.

In der Grundschule fand ich Krimi- und Abenteuergeschichten total spannend und wollte auch derartigen Geschichte erleben. Ein auf dem Bürgersteig liegendes verpacktes Kaugummi hatte ich in meiner Fantasie zu einer Spur bei einem Mordfall gesponnen. Vielleicht ist es dem Opfer aus der Tasche gefallen, während es vom Täter gepackt worden ist? Meine Spurensuche war dann aber auch schon direkt wieder zu Ende.

Inzwischen sehe ich das etwas realistischer. Die Geschichten sehe ich inzwischen aber wieder der Straße liegen, nur anders. Diesmal ist eine weitere Clusterfuck-Kreuzung, bei der Rad- und Fußverkehr verdrängt wird. Das ist zwar nicht illegal, ich finde es trotzdem kriminell.

Es geht um die Kreuzung der B 56 und Am Herrengarten in Bechlinghoven und Vilich-Müldorf. Und weil es dort eine Fußgängerbrücke gibt (später mehr), muss ich nicht mit einer Karte eröffnen, sondern kann ein Bild von oben bieten. Man sieht wunderbar, wie dort vier Fahrstreifen exklusiv für den MIV bereitstehen. Dann sind da noch zwei Abbiegestreifen von Osten (unten im Bild) kommend.

Read more…

Survey of Plot Systems

I present a few different plot libraries for Python and R and show my favorites.

During my years as a physicist I have created a bunch of plots from data. My first experience was with xmgrace in 2011, which was already outdated back then. I tried gnuplot and later GNU Octave. I've made the transition to Python and Matplotlib, where I stayed several years. For my PhD I started using R, but skipped using base R plotting and directly went for ggplot, which still is my favorite plotting library as of today. My first industry job got me back to Python, where I tried to find something like ggplot. The first candidate was seaborn but I just didn't like it. It wanted to be ggplot for Python, but it is not. I eventually found Altair and was amazed. The interactivity with Vega-Lite is super cool. Bokeh provides even nicer interactive widgets, but the plotting interface in Python does not feel as declarative.

In this post I want to go through a somewhat simple plotting example and show how the different plotting libraries do that. We will be using the Anderson's Iris data set as that is built into R and Python libraries already and makes the examples reproducible without any extra data files.

Read more…

GrundstĂĽck nur im Auto verlassen

In der 11. Klasse habe ich ein Austauschjahr in die USA erlebt, dabei war ich in einer eher ländlichen Region. Die Verkehrspolitik dort hat mich geprägt, und zwar als Negativbeispiel. Die gleichen Tendenzen sehe ich in Deutschland und mag es überhaupt nicht.

Während der Schulzeit war ich in den USA, und zwar in der Nähe einer Kleinstadt. Ich kann gar nicht sagen, wie viele Kilometer meine Gastfamilie vom Stadtzentrum entfernt wohnte, ich weiß es nur in Autominuten: 15. Das liegt daran, dass ich das Grundstück nur im Auto (und Schulbus) verlassen habe. Das Haus liegt mit drei anderen an einer kurzen Schotterstraße, die zur Landstraße führt. Dort gibt es keinen Gehweg, nur auf der rechten und linken Straßenseite einen Graben. Bei meiner Ankuft hatte man mir gesagt, dass ich dort nicht zu Fuß gehen sollte, niemand würde mit einem Fußgänger rechnen. Die einzigen, die trotzdem zu Fuß gehen sind Autofahrer mit leerem Tank. Oder Terroristen.

Somit war es dann auch effektiv egal, wo das Haus eigentlich stand. Man setzte sich irgendwo in ein Auto, fuhr damit, und war dann irgendwann da. Mit den direkten Nachbarn hatte ich kein einziges Wort gesprochen, ich kannte nur ein paar Leute aus der Schule. Die wohnten auch irgendwo, und man kam nur mit dem Auto hin. Ich hatte weder Auto noch Führerschein und war effektiv komplett abgeschnitten. Da der Schulbus nur einmal direkt nach der Schule wieder zurück in die Wohngebiete fuhr, konnte ich auch an keinen AGs teilhaben. Das, was ich in Deutschland mit Bus und Fahrrad an autonomer Mobilität hatte, gab es dort einfach nicht. Ich fand es ziemlich mühsam, und habe erschreckend viel Fernsehen geschaut.

Read more…

Ordnungsamt-Mitarbeiter winkt falschparkenden Stadtgärtnern

Gärtner des Grünflächenamtes der Stadt Bonn haben ihren LKW behindernd geparkt. Jemand vom Ordnungsamt fuhr zufällig vorbei, winkte den Gärtnern zu, und ignorierte den LKW. Der angerufene Disponent des Ordnungsamtes unterstellte mir die Abteilungen der Stadt Bonn piesaken zu wollen.

Heute war ich in Holzlar im Penny einkaufen. Auf dem Weg dorthin sah ich einen LKW vom Grünflächenamt der Stadt Bonn. Die Gärtner arbeiteten auf der kleinen Wiese am Kreisverkehr.

Der LKW war sehr ungünstig geparkt. Der stand dort auf dem Gehweg, und zwar komplett. Da muss man auf die Fahrbahn ausweichen. Dann steht er im absoluten Halteverbot. An dieser Stelle fährt eine Buslinie, das behindert. Zusätzlich steht der innen in der Kurve, sodass die Sichtbeziehung gestört ist.

Read more…

Personal Blog vs. Social Media Profiles

Having a personal website or relying on social media profiles has different advantages. I try to reflect on both.

Most people don't have their own website. My father designs web pages for a living, so naturally I was shown how it works early on. I experimented with web design and development since I was like 13 years old. Over time I have noticed how the design part isn't really for me, and I now only do the programming and content part. This blog wasn't designed by me, I just took a program that converts text files into a blog.

If I only cared about getting content out there, I wouldn't need to do so much work. I could have started writing it somewhere else, like on Medium or Facebook. My travel pictures wouldn't need to be part of a blog post, they could go on Flickr, Instagram or Facebook. My programming knowledge could also be on Stack Overflow. It isn't necessarily better or worse, it is just pretty different. In this post I want to share some experience with both.

Read more…

Updated Python Tooling

As I start to do more Python than before, it is time to update my tool chain. This is a listing of the current state.

During my Master thesis, I have written C++. During the PhD I worked with C++, R and the Wolfram Language. Python wasn't really promonent at that time. At work I do both C++ and Python, and for Vigilant Crypto Snatch I also use Python. Before I started more work on the hobby project, I looked into modern Python tooling and found a series called hypermodern Python. I want to share my current Python toolchain.

Although I have been using Vim for quite a while, using a modern IDE at work has convinced me to make the jump. So at home I now use PyCharm Community Edition. It is amazing how much static code analysis that tool delivers, and how much easier development is. I wouldn't want to go back to a plain text editor.

Read more…

Vigilant Crypto Snatch

I've programmed a crypto currency trading bot. This article introduces the idea, some programming details and the documentation.

Trading assets can be a full-time job. If one doesn't want to spend the time, one can just buy in regular intervals for fixed amounts of money and realize the dollar cost average effect. Developing this idea a little further leads to buying when the prices drop to obtain more assets for the same money spent. In order to do it automatically, Chris and I have implemented a cryptocurrency buying bot: Vigilant Crypto Snatch.

The program started out really simple, as a single file Python script. It would use the Bitstamp API to query the current market price of Bitcoin. Then it would take the Cryptocompare API to query the market price a specified time earlier. If the prices had dropped a given percentage, it would send a buy order via the Bitstamp API. Time delay, drop percentage and amount of money to spend have to be set by hand, and in the first iteration by guess.

Read more…

Datenschutz als Täterschutz?

Als Radfahrer hat man es im Straßenverkehr nicht leicht. Eine Kamera zur Aufnahme von Videobeweisen zu nutzen stellt sich in manchen Landkreisen als schwierig heraus, man bekommt das Gefühl von Täterschutz. Ein Erfahrungsbericht mit der Polizei im Rhein-Sieg-Kreis.

Auf einer Radtour war ich in Eitorf. Dort musste ich ein bisschen auf einer Landstraße ohne Radweg fahren. Wie das halt so manchmal im Straßenverkehr passiert, wurde ich geschnitten. Das ist so ein typischer Fall von »ist doch nichts passiert«, aber mich stört das. Und im Bonner Stadtgebiet ist es auch kein Problem, derartige Vorgänge anzuzeigen. Man kann sie direkt an die Bußgeldstelle schicken und hört nichts mehr davon.

Anders im Rhein-Sieg-Kreis. Dort wurde mein Anliegen an die Polizei weitergeleitet, schließlich ist diese für den fließenden Verkehr zuständig. Der bearbeitende Polizeihauptkommissar hatte noch ein paar Rückfragen, unter anderem schrieb er mir dann noch das hier:

Die übermittelten Bilder lassen die Vermutung zu, dass sie während der Fahrt eine sog. „Dashcam“ bzw. Helmkamera genutzt haben und hierbei eine Ordnungswidrigkeit nach dem Datenschutzgesetz begangen haben. Zur weiteren Bearbeitung würde ich den Datenträger, der vermutlich eine Videosequenz beinhaltet, benötigen.

Read more…