­čçę­čç¬ ÔÇö 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:


Joggen und Radfahren

Wenn ich mich bewegen m├Âchte, mache ich das meist mit dem Fahrrad. Da komme ich gut rum, kann viel sehen und kann auch in der Natur sein. Zudem soll es auch schonender f├╝r die Gelenke (im Vergleich zum Joggen) sein. Dann hat es weniger R├╝stzeit als beim Schwimmen. Ich kann einfach das Fahrrad aus dem Keller nehmen und losfahren.

Ganz so einfach ist es dann aber leider nicht. Ich habe hier keinen sch├Ânen gro├čen Wald direkt vor der T├╝r. Es gibt auch ein paar Feldwege, aber kein wirklich gro├čes Netz davon. Ich muss mir also eine Route ├╝berlegen. Und eine Anfahrt dahin, die nicht so ganz furchtbar ist. Das geht mit BRouter ganz gut. Aber das erfordert eine gewisse Vorarbeit am Computer. Dann muss man die Route so planen, dass man m├Âglichst wenig bekloppte Stellen befahren muss. Das ist aber nicht ganz einfach.

Vor allem st├Ârt mich in letzter Zeit einfach die mangelnde Kontinuit├Ąt der Strecken. Seien es Radwege auf der Gegenseite, oder pl├Âtzlich endende Radwege, kurze Insell├Âsungen oder so kreative Radwegsanordnungen. Das ├äquivalent der mittleren freien Wegl├Ąnge, hier also der Abstand zwischen zwei Stellen an denen man Navigieren muss, ist einfach zu gering. Alle paar hundert Meter muss ich mich neu orientieren: Es geht vom Radweg auf die Fahrbahn, es geht wieder zur├╝ck, die Radroute wird durch Nebenstra├čen verschwenkt, ich muss langsam durch ein Dr├Ąngelgitter fahren. Die Distanzen sind fest. Wenn ich also sportlich schnell fahren m├Âchte, so ist die Zeit zwischen diesen Punkten geringer. Ich habe ebenfalls weniger Zeit um die Situation zu verstehen. Und gerade weil die Radverkehrsf├╝hrung nicht einheitlich und einfach ist, kostet das ziemlich viel Denkleistung.

Read moreÔÇŽ

Code Documentation Epiphany

In the past decades I have written a bunch of software. And most was rather ephemeral stuff, like hobby projects or university assignments. In most cases there was no need for any sort of formal documentation. I would understand the code as I am working on it, and once I have abandoned it, it would never be touched again anyway.

During my PhD this has changed. I have worked on three software projects which were meant to be used in the work group after I am gone. And because I knew it from the start, I tried my best to document it. At the time I had the feeling that the documentation should be very close to the code, in the spirit of Donald Knuth's literal programming. I have used tools like Doxygen, Epydoc, Sphinx or JavaDoc to create HTML pages from the docstrings in the code. I only had to write a comment for each function, and then everything would be documented!

In reality I found that this documentation was not really useful. It wasn't motivating to write. The generated website didn't look beautiful by default, though with Sphinx one can find beautiful themes. At the time I didn't really see the systematic problem, I just thought that if I were to write better docstrings, it would become great.

And then for my PhD I needed to write something in Wolfram Mathematica. And as I learned the language, I looked for equivalents of tools that I usually use. There was no documentation generator, no real docstring functionality. I was annoyed by the language. And so I just started out with a Markdown document. And I have documented the functions there, but also the design decisions, use cases, caveats. Something that you can only do in a long-form document. The end result has been a 40 page manual. It has a common theme, has a structure, and you can actually work with that thing.

Read moreÔÇŽ

Rant about Confluence

Over the years I have been using content creation software which had a clear separation of a source and a rendered output. This has been LaTeX for scientific documents, Markdown and reStructuredText for computer documentation. I also use Markdown for my notes with Ghostwriter or Obsidian. I have also used GraphViz to create diagrams and graphs. To create 3D models I have used OpenSCAD, which is a programming language for 3D models. When I needed a Wiki, I have used DokuWiki All these software packages let me use the text editor of my choice, version the source code in Git and share it via GitHub. So for me, having a Git repository of Markdown files is the perfect way to create documentation.

In the average company there are not only technical people like me, but there are also many people who prefer graphical WYSIWYG user interfaces. And I can completely understand that, there are just different workflows and needs. On the other extreme might be a Windows network drive with a bunch of Word documents on it. This would be my personal nightmare, but so would my Markdown setup be to them.

Confluence, a wiki software by Atlassian, is advertised to bridge this gap. It offers the organization of documents in a hierarchy of pages, possibly separated into different spaces. It has access control. And it has a WYSIWYG which caters to the Word-workflow and a wiki syntax editor which caters to people like me who like source code. So in principle it would be the best compromise between the network drive of Word files and the Git repository of Markdown files. And for the most part, it really is that. But there are a couple of things which really make me annoyed with it.

Read moreÔÇŽ

Ausfahrt an der Fr├Ąnkischen Stra├če

In Bonn-Bechlinghoven gibt es entlang der Siegburger Stra├če einen durchgehenden Radweg, der f├╝r beide Richtungen auf einer Seite verl├Ąuft. ├ťber Radwege auf der Gegenseite hatte ich neulich schon geschrieben; der Radweg hier hat an zwei Kreuzungen noch besonders gro├če Kurvenradien. Kurvenradien steuern die Geschwindigkeit, mit der gefahren wird. Aber an der Kreuzung mit der Fr├Ąnkischen Stra├če ist es nochmal besonders krass. Hier die ├ťbersichtskarte von OpenStreetMap:

F├Ąhrt man die Siegburger Stra├če Richtung Zentrum (nach Westen), so bef├Ąhrt man den Radweg auf der normalen, rechten Seite. Man kann hier im Bild gut den sehr gro├čz├╝gigen Kurvenradius sehen.

Der hat zwei b├Âse Konsequenzen:

  1. Zum einen f├Ąhrt man als Radfahrer hier im recht spitzen Winkel auf den Bordstein auf. Ist der Winkel zu spitz, kommt man nicht hoch, sondern prallt mit dem Reifen ab, f├Ąhrt also im Rinnstein weiter. Der Schwerpunkt bewegt sich aber ├╝ber den Bordstein weiter, man st├╝rzt. Und eventuell st├╝rzt man auch Richtung Autoverkehr. Um dies zu Umgehen muss man etwas ausholen und im stumpfen Winkel auf den Bordstein auffahren.

  2. Der gro├če Kurvenradius l├Ądt von der Siegburger Stra├če kommende Autofahrer zum z├╝gigen Rechtsabbiegen ein.

F├╝r diese Fahrtrichtung ist das meist nicht so schlimm. Der Autoverkehr ist dort mit 50 km/h unterwegs, die Radfahrer meist nicht ├╝ber 25 km/h, weil es schon ein eher schmaler Weg ist. Dadurch ├╝berholen die Autofahrer die Radfahrer kurz vorher und ├╝bersehen sie nicht so h├Ąufig.

Read moreÔÇŽ

Neuregelung an der M├╝ldorfer Stra├če (Teil 2)

Mit dem Trick einer IFG-Anfrage nach der Begr├╝ndung f├╝r die Benutzungspflicht des linksseitigen Radwegs wurde diese aufgehoben, die bekloppte F├╝hrung ist jetzt deutlich vereinfacht.

Neulich schrieb ich schon ├╝ber den Radweg an der M├╝ldorfer Stra├če. Auf Twitter haben einige Nutzer den Beitrag diskutiert. Einer sagte, dass er solche ┬╗Radwege┬ź vor seiner T├╝r weggklagen w├╝rde. Ich habe ganz interessiert gefragt, wie das denn geht. Und er hat es dann durch eine Anfrage bei der Stadt erreicht. Damit ihr das auch an anderen Stellen wiederholen k├Ânnt, zeige ich hier den Schriftverkehr. Zuerst schrieb er eine E-Mail an die Verkehrslenkung der Stadt Bonn (verkehrslenkung@bonn.de):

ich bitte Sie um Auskunft gem. IFG-NRW ├╝ber folgende Sachverhalte:

  • Verkehrsrechtliche Anordnung der Radwegebenutzungspflicht (VZ 240) an der M├╝hldorfer Stra├če in Bonn-Holzlar
  • Aktuelle Ergebnisse der Verkehrsz├Ąhlungen an dieser Stra├če; die ├ťbermittlung der Zahlen reicht. Bitte ├╝bermitteln Sie, soweit erfasst, auch die Verkehrsbelastung in der Spitzenstunde.

Sie k├Ânnen die Dokumente an diese E-Mailadresse schicken. Sofern es sich nicht um eine kostenfreie einfach Anfrage handeln sollte, bitte ich vorab um Notiz bevor die IFG-Anfrage erledigt wird.

Read moreÔÇŽ

Energieeffizienz-Label

In Deutschland gibt es jetzt ein neues Energielabel (siehe tagesschau.de). Das l├Âst das alte Label ab, hat aber letztlich die gleichen Kategorien wie vorher.

Als die damals das Label eingef├╝hrt hatten, fand ich das wirklich gro├čartig. So k├Ânnen Verbraucher recht einfach sehen, wie effizient das Ger├Ąt mit Ressourcen umgeht. Zugleich sind die Hersteller dann im Zugzwang ihre Ger├Ąte effizienter als die der Konkurrenz zu machen, wenn sie weiter verkaufen wollen.

In der Implementierung haben sie dann allerdings sehr kurzfristig agiert, genauso wie die Grafikkartenhersteller. Jenen f├Ąllt n├Ąmlich immer nach 10 Generationen auf, dass ihr Nummernschema zu Ende ist. So habe ich bei NVIDIA erlebt, wie sie 8x00 und dann 9x00 hatten. Sie haben ja vier Ziffern, aber nutzen nur die erste f├╝r die Generation, und die zweite f├╝r die Abstufung. Die restlichen zwei danach sind sinnlose Nullen. Und danach haben sie dann die 1x0 rausgebracht, die 2x0 bis zur 9x0. Ja, da war es dann wieder zuende. Und dann haben sie die 10x0 rausgebracht. Naiv hoffte ich auf zweistellige Generationen, aber sie haben die 20x0 rausgebracht. Aktuell sind wir bei 30x0, also in ein paar Jahren haben wir dann 90x0 und NVIDIA wird wieder ├╝berrascht sein.

Read moreÔÇŽ

Fahrrad-Routen mit BRouter

Ich habe h├Ąufig bei Radrouten so auf gut Gl├╝ck anhand der Knotenpunkte geplant. Das hat auch ganz gut geklappt, jedoch sind diese Knotenpunkte und Verbindungen eher auf z├╝giges Vorankommen ausgelegt und weniger auf Aufenthaltsqualit├Ąt. Ich fahre gerne durch ruhige Nebenstra├čen, Wohngebiete oder den Wald. Die Radrouten sind h├Ąufig auch an gro├čen Hauptstra├čen.

Auf Twitter wurde mir mehrfach der BRouter vorgeschlagen. Den habe ich neulich einmal ausprobiert. Dort kann man angeben, dass man auf Stra├čen mit wenig Verkehr unterwegs sein will. Dann gibt man noch ein paar Wegpunkte an und bekommt eine Route. Das habe ich einmal um den Stausee gemacht:

Man kann sich auch direkt das H├Âhenprofil anzeigen lassen.

Read moreÔÇŽ

Fahrradfahren nach ┬╗Freedom of Navigation┬ź

Im Seerecht gibt es das ┬╗Freedom of Navigation┬ź, die ┬╗freie Schiffahrt┬ź. Letztlich geht es darum, dass Schiffe aller Nationen ├╝berall auf dem Meer herumfahren d├╝rfen.

Die US Navy nutzt das sehr gerne aus, indem sie ├╝berall mit ihren Flugzeugtr├Ągergruppen herumfahren. So machen die Man├Âver recht nah an der chinesischen K├╝ste. Und nat├╝rlich sorgt das f├╝r Irritationen. Aber sie machen das, weil sie das d├╝rfen. Und ja, wie wollen bestimmt auch Provozieren. Sie h├Âren jedenfalls nicht nur wegen negativen Reaktionen damit auf.

Beim Radfahren bekomme ich regelm├Ą├čig negative R├╝ckmeldungen von Autofahrern. Seien es knappe ├ťberholman├Âver, absichtliches Schneiden, Hupen oder ├Ąhnliches. Auf Schutzstreifen oder Radwegen abgestellte Fahrzeuge f├╝hren auch dazu, dass ich mich als Radfahrer nicht willkommen f├╝hle. Viele Radfahrer lassen sich durch derartiges Verhalten vom Radfahren abhalten, fangen gar nicht erst damit an oder h├Âren wieder auf.

Das ganze f├╝hrt dann dazu, dass Radfahrer ihre Rechte im Stra├čenverkehr nicht mehr wahrnehmen und sich unterordnen. Ich sehe das inzwischen jedenfalls ganz entspannt. Ich darf da fahren, also mache ich das auch. Und ich w├╝nsche mir, dass immer mehr Leute dies auch tun.

New Monitor Mounts

I have recently written about height adjustable monitors and how they usually don't reach the height that I would need to comfortably sit. And the mount that I bought didn't really do me much good. Eventually I started looking for mounting options again. Most of them only go up to 40 cm in height, but there are a select few options which go even higher. And I didn't actually want to has gas spring arms, just fixed arms are fine. So I have found two products to make it work in the way that I want:

This consists of a dual monitor stand on the right side. That goes up to 100 cm, which is very great. I won't need that much, but it certainly works for me. And then I also have a combined monitor and laptop stand where both can be adjusted independently. In this way I can have the laptop on head height and also do video conferencing without having to look down.

As a side effect, the desk is much neater now. On the picture I haven't put away the cables, by now it looks even better.

Radwege auf der Gegenseite

Radwege f├╝r beide Fahrtrichtungen k├Ânnen au├čerorts eine schicke Sache sein. So wie der hier. Da f├Ąhrt man komfortabel vom Autoverkehr getrennt in einer angenehmen Geschwindigkeit. Kein Hupen, keine knappen ├ťberholvorg├Ąnge.

Der Knackpunkt sind dann aber die Orte. Und die Tage hatte ich in Sto├čdorf (Hennef) eine besonders bescheidene F├╝hrung gefunden. Man kommt in den Ort auf der linken Seite rein. Ich habe das Radweg-Zeichen auf der rechten Seite schon einmal markiert, das hatte ich zu dem Zeitpunkt allerdings noch gar nicht wahrgenommen.

Read moreÔÇŽ