
You have reached the personal homepage of an entity commonly known as derf / derfnull / Birte Friesel. Hi! 👋
If you are looking for the more professional side of me, you may take a look at my Publications (see below) or head directly to my work homepage: Dr. Birte Kristina Friesel @ Universität Osnabrück
Resources
- Photography
- Projects
- Publications (see also: ESS, ORCID, DBLP, Google Scholar)
- Recipes
- Repositories (partial mirrors: Chaosdorf, Codeberg, GitHub)
- Weblog (Fediverse Microblog: @derf@social.skyshaper.org)
- Whatever
Contact
You can reach me by E-Mail (derf@finalrewind.org) and on IRC (derf0 @ OFTC, hackint). My PGP key for E-Mail encryption is 64FE6EC0 55560F9E F13A3044 19E6E524 EBB177BA. I occasionally post stuff on the Fediverse (@derf@social.skyshaper.org).
The remainder of this page duplicates a curated sub-set of projects and the latest blog entries.
Projects
> dbris 'Eichlinghofen H-Bahn, Dortmund' 'Dortmund Hbf' 19.01. 16:51 (00:21) 17:12 . Bus S Bus 440 → Oespel S-Bahnhof, Dortmund 16:51 (+1) ab Eichlinghofen H-Bahn, Dortmund 16:56 (+1) an Oespel S-Bahnhof, Dortmund Fußweg 46m (≈ 3 min.) S 1 → Dortmund Hbf . 17:01 (+5) ab Dortmund-Oespel 2 17:12 (+2) an Dortmund Hbf 7
> hafas 'Eichlinghofen H-Bahn, Dortmund' 'Dortmund Hbf' 00:15 Schw-B HB5 (0:03) S 1 Schw-B HB5 → Universität S-Bahnhof, Dortmund 21:51 ab Eichlinghofen H-Bahn, Dortmund 21:55 an Universität S-Bahnhof, Dortmund Walk 37m (approx. 3 minutes) S 1 → Dortmund Hbf 21:58 ab Dortmund Universität: 2 22:06 an Dortmund Hbf: 4
> efa Essen Martinstr Düsseldorf Hbf 14:34 ab Essen Martinstr.: Bstg. 1 Straßenbahn 108 Essen Altenessen Bf Schleife 14:38 an Essen Hauptbahnhof: Bstg. 1 14:47 ab Essen Hauptbahnhof: 2 R-Bahn RE11 (RRX) Düsseldorf Hbf 15:24 an Düsseldorf Hbf: 10
> dbris-m 'Bochum Hbf' 06:39 ( +7) ICE 843 Berlin Hbf 5 06:39 ( +7) ICE 853 Berlin Hbf 5 06:51 (+19) S 1 Essen Hbf 7 06:37 ( +1) ICE 527 München Hbf 3 Zug fährt abweichend mit nur einem Zugteil. Die Wagen 31 - 39 entfallen.
> hafas-m 'Hamburg Dammtor' 13:49 ( +1) RE 7 Flensburg 3 13:49 ( +1) RE 7 Kiel Hbf 3 13:49 S 5 Buxtehude 2 13:50 ( +4) Bus 5 Nedderfeld, Hamburg 13:50 U 1 Ohlstedt, Hamburg
> efa-m -s VVO Dresden Hbf 13:40 ( -2) 5 66 Lockwitz 13:41 3 3 . Wilder Mann 13:44 4 3 . Coschütz 13:44 6 66 Freital-Deuben 13:46 ( +4) 6 360 Kurort Altenberg Bahnhof 13:46 5 360 Dresden Ammonstraße / Budapester Straße 13:48 ( +1) 1 7 * Weixdorf 13:51 1 10 . Tolkewitz 13:52 Gl.10 RE3 Hof Hbf
News
Travel::Status::DE::IRIS v2.04
Travel-Status-DE-IRIS-2.04.tar.gz (signature)
- Update station and meta databases for rail replacement service around Düsseldorf / Wuppertal / Hagen / Dortmund
Travel::Status::DE::IRIS v2.03
Travel-Status-DE-IRIS-2.03.tar.gz (signature)
- Add missing geocoordinates for two stations
- Update meta database
Travel::Routing::DE::DBRIS v0.08
Travel-Routing-DE-DBRIS-0.08.tar.gz (signature)
- Deutsche Bahn have rolled out a rather aggressive Akamai EdgeSuite WAF configuration, and too-frequent requests made with this module may cause the corresponding IP address or range to be blocked for yet-to-be-determined amounts of time. Send more plausible requests with randomized user agent strings and additional headers to maybe hopefully slightly reduce the risk of this happening.
- New dependency: UUID
Travel::Status::DE::DBRIS v0.23
Travel-Status-DE-DBRIS-0.23.tar.gz (signature)
- Deutsche Bahn have rolled out a rather aggressive Akamai EdgeSuite WAF configuration, and too-frequent requests made with this module may cause the corresponding IP address or range to be blocked for yet-to-be-determined amounts of time. Send more plausible requests with randomized user agent strings and additional headers to maybe hopefully slightly reduce the risk of this happening.
- New dependency: UUID
Travel::Status::DE::IRIS v2.02
Travel-Status-DE-IRIS-2.02.tar.gz (signature)
- Update station database
Travel::Status::DE::HAFAS v6.25
Travel-Status-DE-HAFAS-6.25.tar.gz (signature)
- Update service definitions. Fixes BVG service.
USB → DMX with a single UART (e.g. on an Arduino Nano)
Just in case you're as curious as I was: yes, you can absolutely build a USB to DMX converter that uses a single UART both for receiving ASCII DMX frames via USB (e.g. using an FT232 or CH340G chip) and for sending out DMX frames to a MAX485 or similar. Just not at the same time, but that's what we've got TDMA (time division multiple access) for.
Or, to use a concrete example: yes, an Arduino Nano (ATMega328P with USB-to-serial on-board) can be turned into a USB-to-DMX converter by adding an RS485 adapter and writing a bit of firmware.
The idea is quite simple:
- Every 250 or so milliseconds, disable the UART receive interrupt, configure the UART for DMX output (250 kbaud, 8 data bits, 2 stop bits, no parity), and transmit a DMX frame
- Once done, configure the UART for serial input (e.g., 57600 baud, 8 data bits, 1 stop bit, no parity) and enable the receive interrupt
- Once a complete DMX frame has been received on the USB side, update the DMX output frame accordingly
- Rinse and repeat, making sure not to output any serial data via UART – it's scrictly DMX only
The single drawback is that, while DMX output is running, UART input will be lost – there's no receive interrupt, and even if there was, it would be gibberish due to incompatible UART configuration. However, 57600 baud is not that fast compared to 250 kbaud, so if the PC just transmits its desired DMX frame a few times in quick succession, one of them is bound to be received.
I implemented this in multipass as uart-to-dmx-mega328 and so far it's working reliably. Of course, it's not suitable for anything where you need sub-second scale timing accuracy. But if all you need are some static or slowly fading background hues, it works just fine. In my case, the Neutrik XLR plug used to transmit the DMX signals to a light fixture is probably by far the most expensive item in the entire setup, save for the light fixture itself.
Travel::Status::DE::DBRIS v0.22
Travel-Status-DE-DBRIS-0.22.tar.gz (signature)
- Further fixes for fundefined fvalues
- Update train and operator names (patch by Lili Chelsea Urban)
There's two noteworthy aspects:
Path Adjustments in libvirt / qemu
I'm running Home Assistant OS as a virtual machine on my home server. The HASS OS VM image relies on an OVMF file for booting; this file moved to a different path.
So, in order to make Home Assistant boot again after the upgrade to Debian 13, edit /etc/libvirt/qemu/hassos.xml (or similar) and change /usr/share/OVMF/OVMF_CODE.fd to /usr/share/OVMF/OVMF_CODE_4M.fd.
paho.mqtt.client changes
The upgrade from python3-paho-mqtt 1.6.1 to 2.1.0 came with some changes in its API.
In order to make it happy (and not spew any warnings), replace paho.mqtt.client.Client() with paho.mqtt.client.Client(callback_api_version=paho.mqtt.client.CallbackAPIVersion.VERSION2).
Apart from that, everything went smoothly.
Travel::Status::DE::DBRIS v0.21
Travel-Status-DE-DBRIS-0.21.tar.gz (signature)
- Formation: Fix uninitialized value warnings
Travel::Status::DE::DBRIS v0.20
Travel-Status-DE-DBRIS-0.20.tar.gz (signature)
- Formation::Group: Update carriage name list (patch by Lili Chelsea Urban)
- Fix a variety of uninitialized value warnings
Travel::Status::DE::IRIS v2.01
Travel-Status-DE-IRIS-2.01.tar.gz (signature)
- Update DB InfraGO delay / QoS codes
Travel::Status::DE::DBRIS v0.19
Travel-Status-DE-DBRIS-0.19.tar.gz (signature)
DBRIS->new,->new-p: Add optionalnum_viaskey- Journey: rename
train,train_nototrip,trip_no. The former accessors are now deprecated and will issue a run-time warning when used. Journey->trip,->trip_no: Improve handling of combined operator / line number prefixes; avoid using trip number as type / line number- Journey: New accessors:
types,type_at - Location: new accessors:
operator,trip_type - dbris-m: Add
-Or/-Oaoptions (show next stops of all departures) - dbris-m: Add
--route-entriesoption - dbris-m: Provide more detailed operator information, if available
Travel::Status::DE::HAFAS v6.24
Travel-Status-DE-HAFAS-6.24.tar.gz (signature)
- station: Fix
result->station->{eva}key
Travel::Status::DE::VRR v3.18
Travel-Status-DE-VRR-3.18.tar.gz (signature)
- Services: Fix VVS / update its API URL (patch by amélie)