You have reached the personal homepage of an on-line entity known as derf / derfnull. Hi! đź‘‹
About
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.
When it comes to (paid) work, peers usually know me as Birte Friesel. In case you are looking to offer paid work, I also have a small work homepage on this site with a minimal CV and some more details about what I can (and am willing to) do.
Resources
- Photography
- Projects
- Publications (see also: ESS, ORCID, DBLP, Google Scholar)
- Repositories (partial mirrors: GitHub, Chaosdorf)
- Weblog
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
> 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' 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
News
Travel::Status::DE::DeutscheBahn v6.03
Travel-Status-DE-DeutscheBahn-6.03.tar.gz (signature)
- Journey: Add
product_at
accessor
Travel::Routing::DE::HAFAS v0.07
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 v6.02
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 v6.01
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 v6.00
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::Status::DE::DBWagenreihung v0.12
Travel-Status-DE-DBWagenreihung-0.12.tar.gz (signature)
- Wagon: Add
is_closed
accessor
Travel::Routing::DE::HAFAS v0.06
Travel-Routing-DE-HAFAS-0.06.tar.gz (signature)
- hafas: Add
-C
/--change-time
option - HAFAS: Add
min_change_time
option
Travel::Status::DE::DeutscheBahn v5.06
Travel-Status-DE-DeutscheBahn-5.06.tar.gz (signature)
- Add
Travel::Status::DE::HAFAS::Product
module to handle line numbers, operators, and similar. This enables proper support for journeys with multiple operators and possibly multiple train/line numbers along the route. It also exposes the line ID. - Journey: Add
product
accessor - Stop: Add
prod_arr
,prod_dep
accessors - hafas-m: Improve stop list display in journey mode
- Fix polyline and platform number support in Ă–BB backend (and possibly other non-DB backends)
- Ă–BB backend: correctly handle polylines and platform numbers
- Ă–BB backend: Remove redundant train numbers from
$journey->name
/$journey->line
/$product->name
- Ă–BB backend: update productbits (thanks to Cassidy Dingenskirchen)
Travel::Routing::DE::HAFAS v0.05
Travel-Routing-DE-HAFAS-0.05.tar.gz (signature)
- hafas: Add
-c
/--max-change
option - hafas: Add optional via arguments
- HAFAS: Add
max_change
option - HAFAS: Add
via_stops
option
Travel::Status::DE::DBWagenreihung v0.11
Travel-Status-DE-DBWagenreihung-0.11.tar.gz (signature)
- Add another regional train model
- Wagon: Add
group_index
accessor
Travel::Status::DE::DBWagenreihung v0.10
Travel-Status-DE-DBWagenreihung-0.10.tar.gz (signature)
- Add additional regional train models
Travel::Status::DE::DBWagenreihung v0.09
Travel-Status-DE-DBWagenreihung-0.09.tar.gz (signature)
- Add various regional train models
wagongroup_description
,train_descriptions
: Add short variants
Travel::Routing::DE::HAFAS v0.04
Travel-Routing-DE-HAFAS-0.04.tar.gz (signature)
- hafas: Add
--raw-json
option - Handle undefined occupancy and partial cancellations
- Update Ă–BB modes of transport (mot list)
Travel::Status::DE::IRIS v1.96
Travel-Status-DE-IRIS-1.96.tar.gz (signature)
- Re-add Wipperliese stations (service resumes on March 29th, 2024)
IRIS->new
/get_station
: correctly handle non-EVA station identifiers inwith_related
mode. Previously, these caused (harmless, but annoying) "isn't numeric in numeric eq (==)" warnings.
Travel::Status::DE::IRIS v1.95
Travel-Status-DE-IRIS-1.95.tar.gz (signature)
- Update qos/delay message texts