Hi, I am Martin Ueding, a physicist (M.Sc.), programmer and PhD student in Lattice QCD. My dissertation is handed in, I am currently awaiting the defense.

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. My dissertation was finished in 2020. 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:


Local Erosion with Cars

I've read an interesting book by a traffic planning professor from Vienna, Hermann Knoflacher. In “Virus Auto” he describes how the car makes cities ugly and not worth living in. There are a bunch of examples how a little town is connected to interstates, the people living there are told that it will create new jobs, bring wealth to the people and so on. The reality is different, however. The interstate connection will likely drain the little town.

People have been travelling the same time per day for centuries. This means that the effective range is what you can reach within around 45 minutes (one way). If you are by foot, you can only reach the grocery store in your town. That will be able to sell to all the people in the town. But once you have a car, you can also reach the one in the next slightly larger town. And this is where the trouble begins. Say the other supermarket is larger, has a better offering and slighty lower prices. You might start to shop there, because it is so convenient with the car. Soon other people will do the same, and the local supermarket will see a plummeting in customer base. The prices need to be adjusted, driving more customers away.

Building a connection to the interstate will mean that the effective range of the people increases further. This may sound like a good idea, but the other thing is that it will slowly kill everything locally.

I've taken a simple model. There is a little town and a slightly larger city. Both have a supermarket. The people from the city will always buy in their supermarket. The people from the town might shop locally or at the city supermarket, depending on the cost of going there. The fixed costs of the supermarkets will be distributed to all customers. If many people go to the city supermarket, its prices will fall, whereas the town supermarket will need to increase the prices.

Read more…

Radfahren auf dem Gehweg ist ein Symptom

An manchen Stellen gibt es die baulich getrennten Radwege. Meist muss man aber auf der Fahrbahn fahren. Weil sich einige Leute das nicht trauen, ist manchmal der Gehweg für Radfahrende freigegeben. Radfahrende können sich in diesem Fall also aussuchen, ob sie auf der Fahrbahn oder dem Gehweg fahren. Kinder unter 8 Jahren müssen und dürfen ebenfalls auf dem Gehweg fahren.

Aber warum sollte jemand auf dem Gehweg fahren, der doch für Fußgänger gedacht ist? Wir haben doch eine wunderbare Fahrbahn, warum nimmt man nicht einfach die? Naja, weil die Fahrbahn durch die ganzen Autos ziemlich gefährlich ist. Sogar so gefährlich, dass sich die Fahrradstaffel der Polizei Denver nicht traut, auf der Fahrbahn zu fahren. An anderer Stelle sagte eine Britische Polizeiinspektion eine Aktion zum Überprüfen des Überholabstandes mit der Fahrradstaffel ab, weil es zu gefährlich für ihre Polizisten sei. Die Fahrbahn wird also teilweise als so gefährlich wahrgenommen, dass selbst Polizisten sich nicht mehr trauen, auf ihr zu fahren. Und dabei sollten die doch gerade die Rücksicht im Straßenverkehr durchsetzen.

Wenn Leute also auf dem Gehweg fahren wollen, ist das ein Symptom dafür, dass auf der Fahrbahn eine toxische Atmosphäre herrscht. Und wir dringend daran arbeiten müssen, dass die Fahrbahn wieder ein Verkehrsraum für alle wird, und nicht nur für die gepanzerten Verkehrsteilnehmer. Alternativ können wir die Fahrbahnen auch schmaler machen und dafür baulich getrennte Infrastruktur für Radfahrende schaffen. So werden die Radfahrenden nicht mehr von den Autofahrenden bedrängt, aber auch die Zufußgehenden nicht mehr von den Radfahrenden.

Software Development in Scientific Research

I've worked in research for the past four years, during my master and PhD thesis. And although I did research in physics, my main day-to-day work has been developing software. The software projects were either the large-scale simulation code, some post-processing code or the analysis.

There is a discrepancy between what a researcher is gauged by, and the work which is needed to write good software. A good researcher produces physical results, publishes a bunch of papers which reek in a lot of citations. The only thing that one describes in the papers are the theoretical methods and the results. The details of the implementation are of no concern to the audience of the paper.

The people who work to obtain the results are very much interested in the implementation, as they have to work with the code on a daily basis. They also have to implement new features in order to produce the next physical results in the future. Usually the physical results somehow built upon previous results, making it a necessity to have maintainable and extensible code. And this is where the trouble begins.

Read more…

Writing a PhD Thesis

In September 2017 I have finished my Master's degree in Physics. I was offered a PhD position by my supervisor and gratefully accepted the opportunity. During the master thesis I started to work with lattice simulations, supercomputer programming and was getting into it. Although I already did not want to persue a full career in science, I still wanted to do a bit more research in physics before leaving for the industry.

The thing is that in Germany usually only 25 % of the employees in institutes have permanent positions. And these are usually people who do administration part time. These people are full time professors, administrators of machine shops, computer clusters or something else. The majority of positions are temporary contracts. The rationale seems to be that research benefits from the exchange of ideas, and if people move around the instituions, knowledge is spread. This completely ignores the fact that these are people, eventually wanting to start a familiy and the like. One usually does not get a consecutive contract at the same institution and have to move, often somewhere within the EU. The real chance for a permanent position would be to have it mixed with something permanent, we have IT administrators that are part-time administrators and part-time researchers/teachers. But then it is not really a career in research, it is merely something in academia. All these things set my long-term route, but I did not want to leave research at that moment. So I took the opportunity to do research for another three years.

At the beginning of a PhD the topic is not clear cut. My advisor had a few ideas, and I mostly started working with my valued PhD student coworker Markus to work on his project. There I helped to refactor a C++ code which did tensor contractions. Over the time I learned more of the code, had more and more ideas on improving it. Together we worked on it a lot, it was a really great time. Also I helped to improve the analysis that he needed for his data. Over time it became our analysis, I wrote most of it in the early days. He explained some of the mathematical theory behind it, I implemented a bunch of statistical transformations. On some days we sat there until very late to make some plots really readable, pretty and informative. As the project came to a conclusion, he finished up his dissertation and eventually handed it in. I was super happy for him to finish, and also sad to see him go and move to a different city.

Read more…