🇩🇪 — Hi, ich bin Martin Ueding; Physiker, Maschinenlerner, Softwareentwickler und Fahrradaktivist. Ich habe recht früh mit dem Programmieren angefangen und schreibe darüber im Bereich »Code & Zahlen«. 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. Inzwischen bin ich auch Aktiver im Radentscheid Bonn.

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.

Man kann mich per E-Mail, Threema oder Telegram kontaktieren, oder mich auf Twitter, LinkedIn oder XING finden.

🇺🇸 — 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, mostly English articles about code and numbers and travel. The articles about traffic policy are in German.

You can contact me via E-mail, Threema or Telegram. You can also find me on Twitter, LinkedIn and XING.


Bye Keyboardio Model 01, Welcome ZSA Moonlander!

I have the Keyboardio Model 01 for quite a while now. It is the most amazing keyboard that I had so far. The Canadian maple wood enclosure looks nice, and the layout is just amazing. It has the most comfortable hand and finger position that I have tried. The other keyboards that I had were not as good. The Microsoft Ergonomic 4000 had a nice overall great shape, but the key layout was this horrible staggered type. And the key switches were rubber dome. So a crappy keyboard altogether.

My biggest pain with the Keyboardio Model 01 are the switches. The Matias Quiet Click suck, there's no nicer way of saying that. Mechanical switches are supposed to be robust and fault tolerant. But I have exchanged a bunch of them now, each time I had to open it up and solder them. See the article about exchanging switches. That was a year ago. And then I also aired my concerns about the bad switches. I wrote that I am already thinking about buying an Ergodox keyboard, but I also have the sunken cost of the Keyboardio one. I closed the article with this:

We'll see when the next switch fails …

And, well, the next switch has failed. This time it is the Enter key, it just randomly generates activations. And when working with a command line, random ghost presses of Enter is the last thing I need. This is not only annoying, this becomes a liability. It is pretty sad, because the Keyboardio was advertised as “heirloom grade”, which it really isn't with regard to the switches.

Weiterlesen…

Landal Sonnenberg 2022

Dieses Frühjahr sind wir wieder in Deutschland verreist, diesmal ins Hunsrück an die Mosel. Beim Urlaub ins Hochsauerland letztes Jahr habe ich gelernt, dass bergige Regionen nicht so wirklich zum Fahrradfahren einladen, daher haben wir die Fahrräder diesmal gar nicht erst eingepackt.

Den Ferienhauspark haben wir absichtlich relativ nah gewählt, sodass man nicht ewig hinfahren muss. Die Fahrt bin ich auf der Autobahn entspannt mit 100 km/h gefahren, das war erstaunlich angenehm. Obwohl es nur so 150 km waren, haben wir noch eine Pause für das Mittagessen eingelegt. Früher gab es teilweise einen riesigen Stress möglichst früh am Zielort anzukommen, damit man ganz viel vom Urlaub hat. Dadurch brauchte man aber einen Tag nur zum Ankommen. Das hatten wir jetzt gar nicht, der Urlaub fing schon zuhause an.

Die Aussicht vom Ferienhaus ist wirklich toll. Weil hier alles so bergig ist, liegen die Häuser auf so Terrassen, und man hat freien Blick auf die Eifel. Das ist wirklich sehr schön. Und dann geht da auch noch die Sonne unter.

Weiterlesen…

Trigger GUI for Vigilant Crypto Snatch

At the beginning, the status screen of the Vigilant Crypto Snatch program looks rather bleak. It somehow has information on it, but it isn't really nice to look at. There is no real hierarchy of information, lots of empty space. I just don't like it.

What I would like to see is more information about all the individual triggers that are active, not just there mere names. Also the database cleaning trigger is an implementation detail, the user should not be distracted with that. In this article I will show how I have improved that screen.

Weiterlesen…

Garmin Venu Sq

Schon länger nehme ich meine Radtouren gerne auf. Da gibt es auch diverse Apps, mit denen man die Koordinaten per GPS aufnehmen kann. Vor zehn Jahren hatte ich eine ganz einfache App, die hat das nur aufgenommen und auf einer Karte angezeigt. Dann habe ich irgendwann OsmAnd genommen, teilweise dann Strava oder Komoot. In letzter Zeit habe ich Strava als Datenzentrale auserkoren und auch immer deren App zum Tracking genutzt. Man kann sich dann dort den Track auf einer Karte anschauen, ein Höhenprofil und weitere Statistiken betrachten.

Beim Joggen hatte ich irgendwann das Gefühl, mit der Kenntnis der Herzfrequenz vielleicht ein bisschen sinnvoller trainieren zu können. Ich habe wohl immer ein bisschen zu schnell angefangen, und teilweise die Intervalle zu heftig gemacht. Dann war ich ganz fertig und konnte nicht längere Strecken joggen. Mit einem Pulsmesser-Brustgurt (siehe Artikel zu Garmin HRM Dual) habe ich dann angefangen diese Daten zu sammeln und auf dem Smartphone zu betrachten.

Das ganze hatte allerdings den Nachteil, dass ich die Herzfrequenz nur auf dem Handy betrachten kann. Dann muss auch die Strava-App im Vordergrund sein. Parallel dazu auf dem Fahrrad navigieren geht nicht, weil die Strava App keinen geteilten Bildschirm unterstützt. Gerade beim Joggen ist es auch etwas unpraktisch, das Handy in der Hand zu halten. Ich spürte, wie ich mich immer mehr in der Zielgruppe für eine Smartwatch fühlte.

Weiterlesen…

Mit dem Auto in die Stadt geht doch‽

Es gibt immer wieder sehr hitzige Diskussionen um den Bonner Cityring. Das ein Ring aus Straßen, mit denen man um die Innenstadt fahren kann. In gelb markiert der Cityring. Nun wurde der rote Teil für den Autoverkehr gesperrt, es gab einen Aufschrei in der Pro-Auto-Presse.

Karte von Open Street Map, Route durch Bike Router

Es wurde argumentiert, dass man nun nicht mehr mit dem Auto in die Innenstadt kommen könnte, dass man lieber in die umliegenden Städte fahren würde und dort sein Geld ausgibt. Die Bonner Innenstadt würde veröden, alle Läden pleite gehen und so weiter.

Der ADFC argumentiert schon sehr lange, dass es doch hinreichend ist eines der vielen Parkhäuser der Stadt sternförmig anzufahren, und danach dann wieder zurück nach Hause. Und ich verstehe echt nicht, was an diesem Konzept nicht stimmen sollte.

Weiterlesen…

Qt GUI for Vigilant Crypto Snatch

The Vigilant Crypto Snatch software started as a two-user project, where Chris and I just had it running on our respective machines. Over time a few other users came along, and now we have a Telegram group with around 50 members and likely even more users of the software. Initially the software was just a command line utility and ran only on Linux. Then I've used Streamlit to create a little web user interface to simulate triggers. People have asked for Windows support, which was not hard to do with Python. The user basis grew even more, and eventually somebody asked for a GUI. Command line programs are very uncommon on Windows, and the reach of the software seems to be large enough to be of interest to non-tech-savy users.

Given my general preference for Qt as a GUI library, my experiences with Qt 4 at the DLR in 2015 and my recent experiences with PyQt 6 for the autobright project, I was motivated to try this. The installation of Vorta (which uses PyQt) on Windows was easy via PIP, so I have the hope that it will turn out easy with this program as well. With PyInstaller one might even be able to package it nicely.

Weiterlesen…

Urlaub in Winterberg

Im Herbst 2021 war es mit Urlaub wegen der Pandemie nicht so einfach. Aber das haben wir als Chance gesehen die nähere Umgebung mal ein bisschen besser zu erkunden. Wir sind dann nach Winterberg gefahren, eine kleine Touristenstadt im Hochsauerlandkreis. Der Ferienhauspark liegt auf einem der vielen Hügel, und so hat man eine ansprechende Aussicht. Morgens lag dort häufig noch Nebel in den Tälern, eine sehr schöne Aussicht.

Auch von der Terasse aus hatte man einen Ausblick, von dem man Zuhause nur träumen kann.

Weiterlesen…

Sommer-Fahrradhandschuhe – Eine Offenbarung

Für den Winter habe ich dicke, für die Übergangszeit habe ich dünne Handschuhe. Nur für den Sommer hatte bisher keine gehabt. Mir erschien das unnötig, kalt ist es dann ja nicht mehr. Und ich kann die Lenkergriffe schon hinreichend gut greifen, auch wenn ich etwas verschwitzte Hände habe.

Letzten Winter waren dann aber neue warme Handschuhe fällig. Bei den alten war durch den festen Griff am Lenker irgendwann die Fütterung ganz platt, die Membran gebrochen und sie hielten einfach nicht mehr sinnvoll warm. Ich habe dann ein bisschen höherwertige Handschuhe genommen, die auch noch ein Polster im Handballen haben. Mir erschien das albern, aber ansonsten machten die einen guten Eindruck. Also habe ich die genommen. Mit der Zeit habe ich festgestellt, dass bei unebenem Untergrund die Polsterung an der Handfläche erstaunlich angenehm. Die Federgabel kann nicht alles rausnehmen. Und so wurde ich begehrt bezüglich Polster und habe dann einmal Sommerhandschuhe gekauft:

Die sitzen ziemlich eng und rutschen nicht. Im Gegensatz zu den Handschuhen gegen Kälte braucht man hier eben kein Luftpolster. Die Rückseite ist daher aus einem Netzstoff und man schwitzt nicht unangenehm.

Weiterlesen…

Qt GUI for Autobright

I have been working with the combination of the ambient light sensor and the display control software for a while, see the tag ColorHug. After the rewrite I had the software in a modular fashion and had a reasonable wrapper for the sensor, as well as for the display control. The problem still is the model that translated in between. And to improve the model, I needed to gather data. So I have been collecting data tuples of date and time, manually set brightness and sensor reading throughout my work and leisure time at the computer.

In order to take these measurements, I wrote a little GUI. And in the first iteration I just used Streamlit, because I had some experience with that. And the GUI looks reasonable. The one big issue with Streamlit is the model of state, though. It works reasonable for certain things, but it doesn't really work well for things that need persistent state. And the sensor needs initialization just once, but Streamlit would re-create all the objects. And that made it a bit cumbersome to use.

In order to get around that, I started with Qt and PyQt in particular. With that I can use both the amazing Qt library to build my GUI, but I can also use Python as a programming language. And with that I managed to build the first Qt version of the measurement program.

Weiterlesen…

Umlaufsperren am Kleinspielfeld Buschdorf

In Bonn-Buschdorf, an der Grenze zu Bornheim, gibt es als Teil vom Grünen C ein paar Feldwege und einen Spielplatz. An der Einmündung auf die Buschdorfer Straße steht dort eine Umlaufsperre.

Die erscheint mir aber ziemlich sinnlos. Die Buschdorfer Straße ist nämlich für den Kraftverkehr gesperrt, es darf nur landwirtschaftlicher Verkehr dort einfahren. Das sind meist sehr laute Traktoren, die man also gut hören kann. Der Sinn einer Umlaufsperre ist immer die Begrenzung von Geschwindigkeit, damit niemand einfach so auf die Straße fährt. Jedoch geht es dort auch bergauf.

Weiterlesen…