Things I learned at the German Perl Workshop 2018

Being back in Vienna and having caught up one some (a lot) missed sleep, I can finally clean up my notes of the 20th(!) German Perl Workshop in Gummersbach from 4th to 6th April 2018.

I did one regular talk, Frameworkless Async API, and also an improv performance about Moose based on davorg's great slide set to replace a canceled Moose intro talk.

I submitted one pull request to Map::Tube::Vienna, inspired by Mohammad's talk.

Some discussions

TPF / Grants

Makoto Nozaki, TPF secretary, came from New York and we talked about how to make the TPF grants program work better. Various people provided various ideas, my conclusion was that we should explicitly ask people; and/or advertise grants we'd love to see.

Beginner friendly conference

We again tried to come up with various ideas on how to make conferences more interesting to beginners. I still think a "From Zero to Perl" half day intro track would be easy to implement and very helpful.0

Maybe we could combine this with the TPF grants issue and have some grantee come up with some curriculum, figure out if we already have some publicly available slides, and produce slide sets for missing topics?

Things I learned

  • The top bunk on the sleeper train is hotter and even shorter than the lower ones, but you don't have people stepping on your face.
  • Be careful when climbing out of the top bunk to not step on somebodies face.
  • There are friendly ticket inspectors on German local trains who believe your (true) story why you don't have a ticket for the train from Köln to Overath1 and thus do not fine you for riding without a ticket.
  • Schienenersatzverkehr sucks, and personal pickup services organized by the orgas is much nicer.
  • Seeing a lot of gitlab slides causes work flashbacks (glauschwuffel)
  • I still don't like Cucumber(software) (the testing concept, not the vegetable) (glauschwuffel)
  • docker:dind (docker in docker) might be useful (glauschwuffel)
  • "Das Bauwesen ist relativ kompliziert." (reneeb)
  • There is a Upload-my-CPAN-dist-as-a-service running from Bombay, but I guess it's quite hard to get an invite for an API key (manwar)
  • Some code is just a steaming pile of ones and zeros (Ovid)
  • It's ok to wear casual cloths to work if you're cleaning out the CVS repo (well, I can wear whatever I want, but it seems that there are still companies that have a dress code for devs) (Ovid)
  • Don't tell your manager you want to improve the quality of the codebase; you want to lower maintenance cost (Ovid)
  • If you were operating on "Internet Speed" in the late 90ies you just went bust faster than others (Nicholas)
  • Text encoding of comments embedded in images is even more horrible to handle than general text encoding issues (Nicholas)
  • "opinionated" should be translated as "inflexible" (Guido Flohr)
  • Text::Markdown::Hoedown looks like a powerful markdown renderer (Guido)
  • Even though you thought you have jumped through all the legal hoops to import 25l of camel milk ice cream from Israel, the bureaucracy will still find a last minute paragraph to prevent you from serving it.
  • There is no Köln University in Arnhem (yet), even though it's the same distance (when traveling on a train) from Köln as Gummersbach (Mark)
  • Perl programmers can sing! (at least "Happy Birthday")
  • Knowledge of hacker phrases like yak shaving and bike shedding are not as wildly known as I thought
  • The proper way to spell OCD is CDO2 (Wendy)
  • There is "Preussischer Whisky" (Wendy)
  • Using Plato in 1977 you could send an email (Personal Note) to everybody in the world - that had access to the mainframe (Liz)
  • The Perl community should switch to the CPANocentric system (Liz)
  • A reminder to Hug the Trolls (Wendy).
  • It is very hard to find a module on backpan if you don't know the author of the module. [3]
  • There are a lot of ways to set up test dbs & fixtures (Julien, and some other LT). We should do a comparison workshop/talk of how to set up test databases and fixtures.
  • Regarding DSGVO, the first solution is not to use crypto, but delete data (earlier) (Jens)
  • Crypto is like a circular saw: It it works very well on wood (data) and your thumb (Jens)
  • You can probably detect if your kids misbehave via side channels4 (Jens)
  • Daxim is waiting for some work (or feedback?) on RT117477 since 5 years. And it looks like a very good suggestion...
  • Another DSGVO note: You have to implement the "state of the art", which means encrypting personal data. (If you cannot delete it...) (glauschwuffel)

Favorite question, after 8 ways to do concurrency and parallelism in Perl 6

  • Daxim: Did I understand that correctly; you can use the await keyword without the need to mark the containing sub as async?
  • Jonathan: Yes!
  • Daxim: That's outstanding!
  • Jonathan: You're welcome.


Another very nice German Perl Workshop!

Thanks to the orgas, the speakers, the attendees and of course the sponsors!


0 I found it very easy to do the improv talk on Moose using davorg's slides. If you're halfway competent with some subset of Perl, not totally shy, and get decent material, doing an half-hour presentation on some beginner topic is really easy. At least for me.

1 My train from Vienna to Köln was late and I only had 2 minutes to switch trains (in fact, I only got the local train because it was also late), so there was no time to buy the ticket in the railway station. There was no ticket machine on the train. And I could not buy the ticket on the Austrian railway website. I might have been able to buy it on the German railway website, but I only though about that when I was on my way.

2 Because now the letters are neatly sorted...

3 Here's how to do it:

curl | gzip -d > backpan
grep Pixie backpan

3 If the TV is still warm even though the kid is in bed sleeping (or pretending), the kid might have watched TV even though it shouldn't have.


  • Fixed davorg's name
  • Corrected Daxim's question to Jonathan based on IRC messages from Daxim
  • Fixed another typo spotted by Tux (Typechecking-as-a-service powered by the Perl community)