Persönliches dies-und-das

Wenn Parteien gewinnen - verlieren alle


Was falsch läuft in unserer Gesellschaft, in einem kurzen Einleitungssatz eines Nachrichtenbeitrags zur Einwanderungspolitik: “Union oder SPD - wer geht als Gewinner aus dem Koalitionsstreit hervor?” tagesschau.de Dass als Antwort dann “der Staat” vorgeschlagen wird, beruhigt mich nur wenig, denn schließlich scheint die Frage ja durchaus wichtig oder nahe liegend zu sein. In ihrem Tagesgeschäft haben Parteien nicht zu “gewinnen” oder “verlieren”, sondern schlicht und einfach ihre Arbeit zu machen und Lösungen finden, die funktionieren.…
Read more ⟶

Random Hack: Identify the mid-point between two git commits


Francis asked on irc://irc.freenode.net/#coreboot how to find the mid-point between two commits, like what git bisect is doing – just without git bisect. So here’s a bash function that does this: git_midpoint() { local NUM NUM=$(($(git log --pretty=%h $1 |wc -l) / 2)) if [ $NUM -gt 0 ]; then git show $(git log --pretty=%h -n $NUM $1 |tail -1) fi } Running git_midpoint b365530bb6341cad..b85656f28575fd on the coreboot repository works as expected.…
Read more ⟶

Intel Boot Guard


So some innocent post on the coreboot mailing list managed to make some waves. The problem Intel tries to solve… Intel Boot Guard is the latest effort in a long series by Intel and others to allow computers to provide some reliable information about the state a computer is in. They’re working on it since at least 2003, with projects and trade groups named Palladium, TCPA, and now TCG, and some of them faced scrutiny in the past already because the freedom of computing was deemed under attack (realistic fears, but with some unnecessary hyperbole).…
Read more ⟶

Reversing USB protocols


I’m resumed working out the behaviour of the Dediprog EM100Pro, an SPI flash emulator. It comes with a Windows driver and application to control it, and I worked on an Open Source tool for Linux in the past. Now I’m back at it and working on the more advanced features the tool supports: It’s able to log traffic on the SPI bus and to provide a simple bidirectional serial channel (they call it “HyperTerminal”), and it would be nice to have that work on Linux, too.…
Read more ⟶

gerrit account merge


⚠️ updated version available As mentioned before I’m the admin of coreboot’s code review system which uses the fine Gerrit tool. One recurring issue is that its user registration is automatic, so when you login with some OpenID provider (like Yahoo, Google, or your own) that you haven’t used before, you get a new account, with no self-service option to fix that. There’s a complex SQL routine out there that allows for mass merges, but it’s written for Postgres while we use the built-in H2 database (coreboot is really a tiny project in comparison to what’s out there, and so H2 is good enough for us).…
Read more ⟶

eduroam für Fernstudenten


Viele deutsche Universitäten arbeiten gemeinsam im Rahmen des deutschen Forschungsnetzes an ihrer Infrastruktur. Eine dieser Infrastrukturen heißt eduroam. Es handelt sich um eine Möglichkeit, sich in fremden Uninetzen - zum Beispiel dem WLAN - mit seinen Zugangsdaten der Heimatuni sicher anzumelden. Leider gibt es einige Details in der Konfiguration, die mich eine halbe Stunde Bastelei gekostet haben. Daher hier eine Zusammenstellung, wie man sich als Student der FernUniversität Hagen in fremden eduroam-Netzen anmeldet.…
Read more ⟶

Random Hack: Identify services that use outdated libraries on Linux


With the GnuTLS bugfixes recently, I faced the issue to restart services that depended on it: After updating the library, daemons still run the old version until restarted. I think I’ve seen this automated in some distribution, but it’s nice to know where those tools fetch their data. I also didn’t want to restart them all automatically, so keep track of what’s going on. A bit of searching quickly provided the following solution:…
Read more ⟶

Random Hack: Calculations in GNU make


I built an efficient algorithm for decimal addition in GNU make last year. While I won’t vouch for its production quality (on the other hand: why not?), it’s too cute a hack to hide from the world. Unlike other implementations, this isn’t using unary encoding, and as such doesn’t suffer from their limitations. While unary encoding can be implemented quickly (addition is simple concatenation, conversion to integer is $(words)), maximum string length (and RAM use) preclude certain use cases.…
Read more ⟶

Adventures with Intel VT-d (IOMMU)


After spending a couple of weeks of implementing VT-d support in the Muen Kernel, it finally worked today: A device was passed through to a Linux guest while undesired accesses (initiated by the UEFI firmware’s USB driver during hand-over) were blocked and reported. The last issue, which took a week to debug, was that the IOMMU has a particular idea about how page tables must be laid out. IOMMUs provide memory management for memory accesses coming from peripheral devices, like USB or ethernet controllers.…
Read more ⟶

Wahlrecht


Das deutsche Wahlrecht hat so seine Besonderheiten, zum Beispiel die 5%-Hürde. Diese “gute” Tradition wurde auch bei der Europawahl in Deutschland eingeführt, vom Bundesverfassungsgericht für diese Wahl für ungültig erklärt, um mit einer 3%-Hürde ersetzt zu werden, die dem Bundesverfassungsgericht wieder nicht gefallen hat. Das Urteil ist leider noch nicht online verfügbar, so dass ich mich erst einmal an der Berichterstattung und der Pressemitteilung entlang hangeln muss. Laut Tagesschau argumentiert das BVerfG, dass das Europaparlament nicht so handlungsfähig sein muss, wie beispielsweise der Bundestag, da die EU Kommission nicht so sehr auf das europäische Parlament angewiesen sind, wie die Bundesregierung auf den Bundestag.…
Read more ⟶