dark mode

You have reached the personal homepage of an on-line entity known as derf / derfnull. Hi! 👋


I enjoy doing things and post some of them on this website. Things may include taking photos, poking at public transit APIs, or putting caffeine into chocolate. Blinkenlights and embedded development are nice, too, though I don't really get around to that anymore.

At work, I research performance modeling and performance-aware configuration methods for software and hardware product lines. Please refer to my professional website for details.



You can reach me by E-Mail (d​erf@fina​lr​ewind.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). Outside of the internet, there is a good chance of finding me at the Chaosdorf Häkelspace hackspace.

The remainder of this page duplicates a curated sub-set of projects and the latest blog entries.


> 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
> hafas-m 'Hamburg Dammtor'
14:43  +45  ICE 2922  Hamburg-Altona
15:10       U 1       Ohlstedt, Hamburg
15:10  +4   Bus 112   Osterbrookplatz, Hamburg
15:10       NBE RB61  Itzehoe
> db-iris 'Dortmund Hbf'
14:38 +16  IC 2027     Passau Hbf            11
14:39      ABR RE11    Kassel-Wilhelmshöhe   8
14:41      RE 57       Winterberg(Westf)     2
└────      RE 57       Brilon Wald           2
14:41      S 5         Hagen Hbf             5
14:42      S 2         Dortmund Hbf          6
14:45 +1   RE 1        Aachen Hbf            16


Travel-Status-DE-IRIS-1.90.tar.gz (signature)

  • Update stations list
  • Result: weaken (circular) wing references
  • Result: include arrival_wings departure_wings replaced_by replacement_for in TO_JSON

Travel-Status-DE-DeutscheBahn-4.16.tar.gz (signature)

  • Journey: Fix date parser for cross-midnight journeys that start on the 1st through 9th day of a month.

Travel-Status-DE-DeutscheBahn-4.17.tar.gz (signature)

  • Journey: handle empty / undefined nameS fields

Travel-Status-DE-VRR-1.22.tar.gz (signature)

  • Do not use now-deprecated smartmatch features

Travel-Routing-DE-VRR-2.22.tar.gz (signature)

  • Rewrite code not to use Perl's formerly experimental and now deprecated smartmatch features

Travel-Status-DE-DeutscheBahn-4.14.tar.gz (signature)

  • Journey: Correctly calculate datetimes when requesting a cross-midnight journey after midnight. Previously, those were off by 24 hours.

Travel-Status-DE-DeutscheBahn-4.15.tar.gz (signature)

  • HAFAS: Add similar_stops_p function

Travel-Status-DE-DeutscheBahn-4.13.tar.gz (signature)

  • new_p: Return a Travel::Status::DE::HAFAS instance in addition to the error message when rejecting a promise after receiving a HAFAS reply

Travel-Status-DE-VRR-1.21.tar.gz (signature)

  • Add service VRR3
  • Update service URLs for VVO, VRN
  • Remove discontinued services SVV, TLEM, VBL, Verbundlinie, VOR

Travel-Routing-DE-VRR-2.21.tar.gz (signature)

  • Add service VRR3
  • Update service URLs for VVO, VRN
  • Remove discontinued services SVV, TLEM, VBL, Verbundlinie, VOR