Hi, I am Martin Ueding, a physicist (M.Sc.), programmer and PhD student in Lattice QCD.

Although I am German, most of the content on this website is in English as both science and programming is communicated mostly in English.

Since 2011, I study Physics at Bonn university. I have finished my Bachelor degree in 2014 and my Master thesis in 2017. See the studies section for the study related material.

At the age of 13 I started programming with C. Then I looked into HTML and CSS, started to use PHP and then MySQL. Looking for something to write software with a nice user interface with, I came to Java. Then I looked into more languages like Bash, Python, JavaScript, GNU Octave, VimScript, Fish. From then on, I tried to do most things in either Python 3 or C++11, so that I only have two languages, which I know well. For my work I now use R and also picked up the Wolfram Language. See my portfolio.

My most popular project are the thinkpad-scripts which I wrote to get all the screen and digitizer features working effortlessly on my ThinkPad. It is a collection of Python modules that take care of docking and screen rotation.

For several years now, I have been almost paperless. The main challenges are papers I get from other people and hand written notes. The former can be faced with a scanner, the latter was more interesting. I own a Wacom Tablet since long before I started to become paperless, but I never had a good software for note taking. Since I did not find one at first, I wrote jscribbe. After I was almost done with that, I discovered Xournal which I now use most of the time.


You can also find me on other platforms:


Mehrwertsteuersenkung und Veränderter Grundwert

Bei ALDI gibt es wegen der Mehrwertsteuersenkung aktuell 3 % auf alles. Mediamarkt hatte manchmal auch so Aktionen, bei denen es 19 % Rabatt unter dem Motto »Mediamarkt schenkt die Mehrwertsteuer« gibt. Interessant ist ja eigentlich, dass bei den Rabatten die Preise sogar noch weiter gesenkt werden als nötig.

Sei der Nettopreis $N$, dann ist der Bruttopreis $B$ bei einer Mehrwertsteuer $m$ gegeben durch $B = N \cdot (1 + m)$. Im Normalfall ist $m = 0.19$ und daher haben wir $B = 1.19 \cdot N$. Möchte man die Mehrwertsteuer erlassen, so muss man den einen Rabatt geben, der $1/1.19 \approx 0.8403361$ entspricht. Das ist aber ein Rabatt von $1 - 0.8403361 \approx 0.1596639$, also knapp unter 16 %. Würde Mediamarkt den Kunden aber nur 16 % Rabatt geben, wären wahrscheinlich viele empört. Also gibt es noch weitere 3 % Rabatt für alle, die in Prozentrechnung nicht so fit sind.

Read more…

Scattered Across Messengers

For the past years I have only used WhatsApp and Telegram for messaging. Surely also Discord, Skype, Team Speak and Zoom for certain discussion groups, but not genereal messaging. Most people use WhatsApp, and few use Telegram and insist that it is the better messenger. I still do not like Telegram for its home-grown cryptography, trusted-server design and opt-in end-to-end-encryption. A relative had a security incident on Telegram, apparently somebody was reading all the chats and searched for login credentials that were sent to somebody else. In the end the person ditched Telegram as they did not feel secure on it any more.

But then the family group on Telegram did not work any more. WhatsApp is not an option because another person despises Facebook and does not want to share any data with them. We eventually agreed on the Signal messenger. I have installed this on my phone an laptop, and the family group was opened up there.

Read more…

Assigning Audio Devices to Programs

On my Windows PC I have multiple audio devices. There is a 2.1 speaker system attached via USB and an analog headphone jack on the front. When I am not alone, I attach the headphones and want it to be used. Otherweise I remove the headphones and want to use the speakers. For some reason Windows has the super obnoxious limitation that audio sinks cannot be changed after the application has launched. There is a settings menu where I can apparently set the source and sink for separately for every application. But it does not seem to have any effect when the application is already running!

Read more…

Bonner Innenstadt als Freiluft-Mall?

Ich bekomme über lokale Zeitungen, Twitter, Newsletter des ADFC (Allgemeiner Deutscher Fahrrad-Club) immer wieder Einblicke in die Verkehrsplanung in Bonn. Interessant ist das Festhalten von vielen am City-Ring, einem Rundkurs im Uhrzeigersinn um die Fußgängerzone (Belderberg, Am Hof, Rathausgasse, Maximilianstraße, Rabinstraße, Berliner Freiheit, Oxfordstraße, Bertha-von-Suttner-Platz). In der Maximilianstraße gab es das Experiment zur Sperrung für MIV, dann ein ähnliches Experiment in der Rathausgasse zur Errichtung einer Radspur in Gegenrichtung. Nun wurde neulich beschlossen, dass der MIV wieder durch die Rathausgasse fahren darf.

Dafür stimmte auch der BBB (Bürger-Bund-Bonn). Über Twitter habe ich mit deren OB-Kandidaten darüber diskutiert, die IHK Bonn (Industrie- und Handelskammer) machte ebenfalls mit. Letztere kenne ich als Vertretung für die bedingungslose Erreichbarkeit der Innenstadt mit dem Auto.

Es ist anscheinend oberste Priorität, dass man mit dem Auto im Kreis um die Fußgängerzone fahren kann. Man muss von einem Parkhaus zum nächsten fahren können. Wenn man am Busbahnhof wartet, sieht man manchmal aber die immer gleichen Poser mit dem Auto im Kreis fahren, wollen den Leuten an den Bushaltestellen zeigen, wie geil laut ihr Auto ist. Durch die Kappung des City-Rings wurde das unterbunden. Für mich hat das die Aufenthaltsqualität in der Innenstadt erhöht. IHK und BBB sahen hier aber den Untergang.

In der Diskussion kam dann heraus, dass die Erreichbarkeit der Innenstadt für Externe wichtiger ist, als eine für die Anwohner leisere und lebenswertere Stadt zu haben. Der »inhabergeführte Einzelhandel« würde anscheinend sofort pleite gehen, wenn man nicht mehr um die Innenstadt kreisen kann. Der ADFC hat ein Konzept vorgeschlagen, bei dem man das Parkhaus auf der jeweiligen Seite der Innenstadt erreichen kann, und dann wieder abfährt. Es gibt keinen Grund im Kreis zu fahren. Aber das reicht anscheinend dem scheuen Reh Einzelhandel nicht.

Read more…

Poller

Poller sind eine echte Krankheit im Straßenverkehr. Sie sind fast immer dazu da Autofahrer an Fehlverhalten zu hindern. Sie werden meist gegen illegales Befahren oder Falschparken eingesetzt. Angebracht werden die Scheißteile jedoch auf der Infrastruktur, die sie schützen sollen. Das muss man sich einmal auf der Zunge zergehen lassen: Um den Gehweg für Fußgänger freizuhalten, setzt man Poller auf den Gehweg. Das sieht dann so aus:

Der rechte Gehweg ist jetzt super gegen Falschparker abgesichert. Allerdings ist der vergleibende Gehweg jetzt auch noch schmaler, sodass man mit einem Kinderwagen echt aufpassen muss. Außerdem kann man nicht mehr entspannt zu weit nebeneinander gehen. Ständig muss man entweder hintereinander gehen oder eine Person weicht kurz auf die Fahrbahn aus. Man kann das ganz gut bei den beiden Personen am Ende der Straße sehen, da geht er auf der Fahrbahn, sie geht auf dem Gehweg.

Um die schwächeren Verkehrsteilnehmer zu schützen, werden sie effektiv noch weiter gegängelt. Die Das Ordnungsamt der Stadt Bonn könnte auch einfach besser kontrollieren. Falschparker haben effektiv nichts zu befürchten. Also kapituliert die Stadt und setzt diese Poller dort hin. Angenommen, ich hätte meinen Eltern während der Schulzeit von einem Mobber erzählt, der mir regelmäßig mein Pausenbrot wegnimmt. Wie kann man dann nicht den Mobber angehen? Die Reaktion der Stadt wirkt auf mich als hätten meine Eltern mir den Tipp gegeben mein Brot in Glasscherben zu wälzen, sodass der Typ es mir nicht mehr wegnehmen wolle. Gut, ich hätte es dann auch nicht mehr genießen können, aber immerhin hätte ich es noch. Man könnte die Poller doch auch auf die Fahrbahn stellen, oder?

Read more…

Cross-Posting von Stellenangeboten

Aktuell schaue ich nach Jobangeboten. Es gibt da einen Haufen Webseiten, die Stellenangebote haben. Mit denen hier hatte ich schon Kontakt:

  • LinkedIn
  • Xing
  • Stepstone
  • Monster
  • Bundesagentur für Arbeit
  • Joblift
  • Glassdoor
  • Indeed

Aktuell schaue ich meist auf LinkedIn. Dort findet man immer wieder Stellenangebote, die einfach nur miserabel formatiert sind. Offensichtlich wurden die einfach von einer anderen Plattform kopiert und nicht weiter angepasst. Wohl irgendwie automatisiert per API auf LinkedIn gerotzt.

Aber gut, die Stelle klingt ganz interessant, also wollte ich dem trotzdem eine Chance geben. Also habe ich einmal auf »Bewerben« geklickt. Dann landete ich bei Joblift, noch einem weiteren Portal. Dort war der gleiche zusammenkopierte Text, den ich schon kannte.

Read more…

Tools for Remote Programming Teaching

In the past years I have done a bit of programming teaching. Mostly at the university, where I have tutored in-person classes for C and LaTeX. On the side I have also taught people C and recently Python. In order to learn programming, one has to be able to experiment, therefore one needs to have a shared environment that allows to execute code. I want to introduce a few options that I have found.

The first one is JDoodle. It supports a bunch of programming languages and one can work on a single file there. It supports interactive programs but no interactive interpreter. Collaboration is possible, but I found it flaky, often one person would just drop out.

Read more…

Identitätsverifikation mit Personalausweis-Scan

Es gibt immer wieder Situationen, bei denen man seine Identität im Internet nachweisen muss. Dafür braucht man also irgendwie ein Ausweisdokument, was auch digital funktioniert. In Deutschland haben wir dafür den elektronischen Personalausweis (ePA), der irgendwelche Zertifikate enthält. Mit einem geeigneten Lesegerät kann man damit seine ganze Identität oder nur sein Alter gegenüber einem Dienst verifizieren.

Klingt alles super, nur leider unterstützt fast niemand den ePA wirklich. Die Software läuft nur unter Windows und macOS; Linux ist mit unter 5% Marktanteil willkürlich ausgenommen, obwohl das Teil mit C++, Qt und CMake programmiert ist. Jedenfalls hat fast niemand so ein Lesegerät, und man muss den ePA für die breite Masse wohl einfach als gescheitert ansehen.

Gängige Verifikationsmethoden sind dann Hochladen von Ausweiskopien, Postident oder Videoident. Bis auf Postident ist das alles ziemlich bekloppt. Im realen Leben muss ich den Ausweis haben, und natürlich mit dem Passbild übereinstimmen. Bei Postident ist das genauso, da muss ich den haben. Wenn ich Videoident mache, muss ich den Ausweis auch haben und entsprechend aussehen. Das ist beides okay, wobei über das Smartphone nicht unbedingt alle Sicherheitsfeatures korrekt zu sehen sind. Durch Schwenken des Ausweises und Winken mit der Hand vor dem Gesicht ist das immerhin so halbwegs okay. Jedoch bindet beides Personal und dauert auch viel länger, als wenn man das einfach mit einem Lesegerät macht. Zudem man für das Lesegerät noch die Pin wissen muss, also hat man hier zwei Merkmale.

Ausweiskopien sind aber wirklich das letzte. Wenn ich eine bei Dienst A hochlade, was hindert Dienst A dann daran sich gegenüber Dienst B mit meiner Kopie »auszuweisen«? Ich kann auch auf meinem Rechner die immer gleiche Ausweiskopie an alle schicken. Es ist also weder haben noch wissen, was man hier braucht.

Read more…

Registrierung bei der Agentur für Arbeit

Mein Vertrag bei der Universität läuft in etwas mehr als drei Monaten aus. Damit man seinen Anspruch auf ALG-1 nicht verliert, muss man sich mindestens drei Monate vorher als arbeitssuchend melden. Das ist die Vorstufe von arbeitslos. Dazu muss man sich aber erstmal online einen Account erstellen. Das ging auch ziemlich einfach, für die arbeitssuchend-Meldung brauche ich den sogar nicht nicht zu bestätigen. Heute kam der Brief mit dem Code an. Also erstmal zur Anmeldeseite:

Als nächstes wollten sie dann den Code haben.

Read more…

Photochromic Lenses Suck

A few years ago I needed to get new prescription lenses into my glasses. As this usually cost around 200 EUR and I did not want to spend much more money on separate sunglasses, I have tried out photochromic lenses. These have a chemical component which darkens under UV light such that it automatically block out excess sunlight.

At least that is the theory. The problem is that they get triggerd by UV light, not brightness. So when there is shade on the glasses, they won't darken. Take the following example, where I was on a walk and had sun from the right side. You can see how the shadow of the frame has left a brighter line diagonally through the glasses. Also the left part of the lens is not as dark because it was under my hat.

When you turn around, you have partial sunglasses, which suck. Then car windows block the UV light but not the bright visible light such that the chemical compound does not trigger and one is left with regular classes. That also sucks.

So although they might seem appealing, they just totally suck.