dark mode

You have reached the personal homepage of an entity commonly known as derf / derfnull / Birte Friesel. Hi! ­čĹő



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).

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


> 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
> 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


2024-06-22 14:44

Caffeinated Chocolate

For the past ten years, I have been making caffeinated chocolate in order to always have a source of caffeine with me that i can consume in a pinch.

The recipe is relatively simple, but I never got around to writing it down outside of ephemeral microblog posts. So, here it is: Koffeinschoki.

Travel-Routing-DE-HAFAS-0.08.tar.gz (signature)

  • Adjust walking connection segment handling for DB HAFAS update on Sun Jun 09 (ignore walking segments without a duration)

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

  • Update stations list
  • Add deprecation notice. The backend service that this module relies on is deprecated and scheduled for decommissioning. There is no successor. Do not use this module for new projects and be prepared to migrate away from it sooner rather than later.

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

  • EFA->new: Deprecate efa_url option. Use service instead. efa_url is still supported, just not documented anymore.
  • EFA->new: Request departures in Europe/Berlin by default rather than using the system time zone. Fixes EFA operation on machines using UTC.
  • efa-m: Support "FULL" occupancy; change indicators from _ * ! to . o * !

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

  • efa-m: Deprecate --efa-url in favour of --service. It is still supported, just not documented anymore.
  • EFA: Add new_p constructor for asynchronous operation with promises
  • EFA: Add static get_service function

Travel-Status-DE-DBWagenreihung-0.14.tar.gz (signature)

  • This module now explicitly treats carriages as groups, just like the backend does. Each group contains at least one carriage and has a distinct number, origin, destination, and train type / description.
  • Add Travel::Status::DE::DBWagenreihung::Group module.
  • DBWagenreihung: Add groups, carriages, and train_nos accessors.
  • DBWagenreihung: origins, destinations: Return hashrefs with "name" / "groups" / "sections" rather than "name" / "sections".
  • DBWagenreihung: Remove train_descriptions, wagongroup_description, wagongroup_subtype, and wagongroup_model accessors. Use $wr->groups and $group->description / $group->desc_short instead. This is a breaking change.

Travel-Status-DE-DBWagenreihung-0.13.tar.gz (signature)

  • DBWagenreihung: Add station accessor.
  • DBWagenreihung: Add TO_JSON function.
  • DBWagenreihung: remove station_ds100, station_name, and station_uic accessors. Use station->{ds100}, station->{name} and station->{eva} instead. This is a breaking change.
  • DBWagenreihung: origins now returns a list of hashrefs, just like destinations. It used to return a list of names. This is a breaking change.

Travel-Routing-DE-HAFAS-0.07.tar.gz (signature)

  • Replace built-in HAFAS service list with the one provided by Travel::Status::DE::HAFAS
  • Convert non-local time stamps to backend-specific time zone
  • hafas: Add -x / --exclude-infeasible and -j / --with-jid options
  • HAFAS::Connection::Section: Support unspecified local transit (TRSF)

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

  • hafas-m: Add -j / --with-jid option
  • $hafas->station: Correctly determine "name" and "eva" for stations that have multiple EVA IDs and names.

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

  • Journey: Add operators accessor
  • Add CMTA (Capital Metropolitan Transportation Authority) and BLS (BLS AG) services

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

  • Add AVV (Aachener Verkehrsverbund), BART (Bay Area Rapid Transit), and IE (Iarnr├│d ├ëireann / Irish Rail) backends
  • Support backend-specific time zones; add time_zone to service description
  • Handle cross-timezone journeys and stops whose time zone differs from the backend's default time zone. As of this release, all input and output datetimes refer to the backend's default time zone rather than local time (Stop and Journey accessors) / whatever (hafas-m and HAFAS arguments). Use the new tz_offset accessor to determine local time. This is a breaking change.
  • Journey, Stop: Add tz_offset accessor

Travel-Routing-DE-HAFAS-0.06.tar.gz (signature)

  • hafas: Add -C / --change-time option
  • HAFAS: Add min_change_time option