Posts by Category

Perl

Avoiding stringy eval in Perl

6 minute read

Once upon a time, I used to take an active part in the CPAN Pull Request Challenge (and later in the Pull Request Club). One task I tackled as part of each ...

German Perl/Raku Workshop Frankfurt 2024

12 minute read

This week I was at the German Perl/Raku Workshop in Frankfurt. This is the main yearly meetup of the German-speaking Perl/Raku community. The event isn’t j...

Hotel hotspot hijinks

7 minute read

Ever been staying at a hotel and gotten annoyed that you always have to open a browser to log in for wireless access? Yup, me too. A recent instance was pa...

German Perl/Raku Workshop Leipzig 2022

9 minute read

The workshop was held only online last year due to the pandemic, thus it was really nice to be able to see people in-person again (my first workshop/conferen...

Pull Request Club: April 2021

5 minute read

The Pull Request Club is a way to connect open source maintainers to contributors through monthly assignments. It’s free to join up (just use your GitHub lo...

Helping to clean CPAN: January 2017

8 minute read

… where I get out my virtual broom and sweep up cruft I can find in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: December 2016

11 minute read

… where I get out my virtual broom and sweep up cruft I can find in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: November 2016

11 minute read

… where I get out my virtual broom and sweep up cruft I can find in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: October 2016

8 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: September 2016

9 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: August 2016

9 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

YAPC::EU 2016 Day 3

7 minute read

These are my notes from the talks I attended at the third day of YAPC::EU 2016.

YAPC::EU 2016 Day 2

7 minute read

These are my notes from the talks I attended at the second day of YAPC::EU 2016.

YAPC::EU 2016 Day 1

6 minute read

These are my notes from the talks I attended at the first day of YAPC::EU 2016.

Helping to clean CPAN: July 2016

7 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: June 2016

7 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: May 2016

7 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: April 2016

6 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

NPLW 2016

5 minute read

The Dutch Perl Workshop (NLPW) was held on the 1st of April, 2016. Many jokes were made about the date being no joke… Here are some of my impressions about...

Helping to clean CPAN: March 2016

7 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: February 2016

8 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: January 2016

8 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: December 2015

6 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: November 2015

8 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: October 2015

4 minute read

… where I get out my virtual broom and sweep up cruft I can find in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Cleaning the CPAN cage: January 2015

2 minute read

In the first installment of my participation in the CPAN Pull Request Challenge I was assigned the module XML::NamespaceSupport. The module enables one to pr...

Back to top ↑

CPAN PRC

Helping to clean CPAN: January 2017

8 minute read

… where I get out my virtual broom and sweep up cruft I can find in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: December 2016

11 minute read

… where I get out my virtual broom and sweep up cruft I can find in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: November 2016

11 minute read

… where I get out my virtual broom and sweep up cruft I can find in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: October 2016

8 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: September 2016

9 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: August 2016

9 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: July 2016

7 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: June 2016

7 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: May 2016

7 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: April 2016

6 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: March 2016

7 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: February 2016

8 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: January 2016

8 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: December 2015

6 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: November 2015

8 minute read

… where I get out my virtual broom and sweep up cruft in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Helping to clean CPAN: October 2015

4 minute read

… where I get out my virtual broom and sweep up cruft I can find in my assigned distribution for this month’s edition of the CPAN Pull Request Challenge.

Cleaning the CPAN cage: January 2015

2 minute read

In the first installment of my participation in the CPAN Pull Request Challenge I was assigned the module XML::NamespaceSupport. The module enables one to pr...

Back to top ↑

General

ptc-it.de is now peateasea.de

1 minute read

It’s been annoying me for a while now that the URL for this blog somehow just didn’t sound nice. I finally came up with a better-sounding domain name and ha...

Vim hjkl arrow keys T-shirt design

1 minute read

Back in 2018 I found a T-shirt featuring vim’s hjkl arrow keys but stocks were sold out. I therefore had a dab at designing my own.

Two handy mutt tips

5 minute read

Mutt is a very powerful email client, mainly because it’s terminal-based and because it has a vast array of terse commands reminiscent of the terse command p...

Backing up photos from Android to Debian

9 minute read

One would think that since Android is a Linux-based operating system, that integration between Android devices and Linux computers would work rather seamless...

Controlling screen brightness via ACPI

9 minute read

Really, this is just a workaround for an issue I haven’t completely understood. Nevertheless, since I had to work out how I’d handled brightness control via...

Test suite profiling

15 minute read

Recently at $work I found that our test suite was taking longer and longer to run and had begun to slow down development. A long-running test suite smells of...

Back to top ↑

Testing

Agile Testing Days 2021

21 minute read

This is the first in-person conference for me in almost two years. Crazy times! Below are my notes from the talks that I attended at the Agile Testing Days...

Test suite profiling

15 minute read

Recently at $work I found that our test suite was taking longer and longer to run and had begun to slow down development. A long-running test suite smells of...

Back to top ↑

Linux

Backing up photos from Android to Debian

9 minute read

One would think that since Android is a Linux-based operating system, that integration between Android devices and Linux computers would work rather seamless...

Controlling screen brightness via ACPI

9 minute read

Really, this is just a workaround for an issue I haven’t completely understood. Nevertheless, since I had to work out how I’d handled brightness control via...

Processing files with spaces in filenames

5 minute read

Sometimes I get files from friends who use certain graphical operating systems, where it’s ok to use spaces in filenames. Processing these files on Unix isn...

Back to top ↑

Python

Basic Python project setup

6 minute read

Setting up an existing Python project from a fresh clone shouldn’t be a chore. Automate the process with a setup script.

Evaporating a pot of water

16 minute read

As part of tutoring physics and maths to high school students, I sometimes write up deep-dive explanations of questions arising during lessons. The question...

Reverting migrations in Django

4 minute read

When developing Django applications it’s sometimes necessary to revert (i.e. undo) a migration, especially if something didn’t quite work as planned. If som...

Test suite profiling

15 minute read

Recently at $work I found that our test suite was taking longer and longer to run and had begun to slow down development. A long-running test suite smells of...

Back to top ↑

Conferences

German Perl/Raku Workshop Frankfurt 2024

12 minute read

This week I was at the German Perl/Raku Workshop in Frankfurt. This is the main yearly meetup of the German-speaking Perl/Raku community. The event isn’t j...

German Perl/Raku Workshop Leipzig 2022

9 minute read

The workshop was held only online last year due to the pandemic, thus it was really nice to be able to see people in-person again (my first workshop/conferen...

Agile Testing Days 2021

21 minute read

This is the first in-person conference for me in almost two years. Crazy times! Below are my notes from the talks that I attended at the Agile Testing Days...

YAPC::EU 2016 Day 3

7 minute read

These are my notes from the talks I attended at the third day of YAPC::EU 2016.

YAPC::EU 2016 Day 2

7 minute read

These are my notes from the talks I attended at the second day of YAPC::EU 2016.

YAPC::EU 2016 Day 1

6 minute read

These are my notes from the talks I attended at the first day of YAPC::EU 2016.

NPLW 2016

5 minute read

The Dutch Perl Workshop (NLPW) was held on the 1st of April, 2016. Many jokes were made about the date being no joke… Here are some of my impressions about...

Back to top ↑

Web development

Weaning my website off cookies

9 minute read

Do you find having to accept or decline cookies everywhere on the web annoying? Me too. That’s why I decided to remove cookies from this blog. Here’s how I...

Back to top ↑

Perl 6

YAPC::EU 2016 Day 3

7 minute read

These are my notes from the talks I attended at the third day of YAPC::EU 2016.

YAPC::EU 2016 Day 2

7 minute read

These are my notes from the talks I attended at the second day of YAPC::EU 2016.

YAPC::EU 2016 Day 1

6 minute read

These are my notes from the talks I attended at the first day of YAPC::EU 2016.

NPLW 2016

5 minute read

The Dutch Perl Workshop (NLPW) was held on the 1st of April, 2016. Many jokes were made about the date being no joke… Here are some of my impressions about...

Back to top ↑

Windows

Starting ssh-agent in Windows PowerShell

2 minute read

As someone who works mostly on Linux, there seem to be a multitude of issues for me to stumble over when having to use Windows. Using ssh in Windows PowerSh...

Building and testing Raku in AppVeyor

22 minute read

Trying to get an old Raku project up and running again led me down a deep rabbit hole. I ended up working out how to set up, build, and test Raku projects on...

Installing MinGW doesn’t suck anymore

14 minute read

Recently a PhD student at the institute where I work wanted to use make and gfortran on a Windows box without having to install Cygwin in order to compile a ...

Windows Git Installation

16 minute read

A version control system is fundamental to the work of anyone developing software, whether it be scientific software or not. This is one of the fundamental ...

Back to top ↑

DevOps

Tunneling through a gateway server via SSH

9 minute read

Some of the servers I manage are hidden behind a corporate firewall and hence not accessible from the open internet. In order to access them from my office ...

Headless Cordova Android builds on Jenkins

23 minute read

This is a fairly old story, nevertheless I still think it’s worthwhile telling, just in case someone else wants to build Android APKs from Cordova within the...

Back to top ↑

Git

Starting ssh-agent in Windows PowerShell

2 minute read

As someone who works mostly on Linux, there seem to be a multitude of issues for me to stumble over when having to use Windows. Using ssh in Windows PowerSh...

Rewriting author information in Git commits

1 minute read

Ever needed to change your email address in your Git history? For instance, you’ve mistakenly used your personal email address in a repository at work? Here...

Windows Git Installation

16 minute read

A version control system is fundamental to the work of anyone developing software, whether it be scientific software or not. This is one of the fundamental ...

Back to top ↑

JavaScript

Back to top ↑

Vim

Breaking spaces in vim

1 minute read

Some text editing software packages seem to insert non-breaking spaces into files willy-nilly. This can be a pain if you don’t want them. Also, they’re ver...

Vim hjkl arrow keys T-shirt design

1 minute read

Back in 2018 I found a T-shirt featuring vim’s hjkl arrow keys but stocks were sold out. I therefore had a dab at designing my own.

Relative copy and paste in vim

5 minute read

Sometimes there seems to be so much hidden power in vim that it’s just stunning. It’s like there’s a hidden reservoir of power just underneath the surface o...

Back to top ↑

Raku

Building and testing Raku in AppVeyor

22 minute read

Trying to get an old Raku project up and running again led me down a deep rabbit hole. I ended up working out how to set up, build, and test Raku projects on...

German Perl/Raku Workshop Leipzig 2022

9 minute read

The workshop was held only online last year due to the pandemic, thus it was really nice to be able to see people in-person again (my first workshop/conferen...

Creating a random secret key in Raku

2 minute read

This post might seem a bit silly, because I’ve already posted this tip on Twitter about a year ago. Nevertheless, I needed exactly this piece of information...

Back to top ↑

Bash

Basic Python project setup

6 minute read

Setting up an existing Python project from a fresh clone shouldn’t be a chore. Automate the process with a setup script.

Processing files with spaces in filenames

5 minute read

Sometimes I get files from friends who use certain graphical operating systems, where it’s ok to use spaces in filenames. Processing these files on Unix isn...

Back to top ↑

Android

Headless Cordova Android builds on Jenkins

23 minute read

This is a fairly old story, nevertheless I still think it’s worthwhile telling, just in case someone else wants to build Android APKs from Cordova within the...

Backing up photos from Android to Debian

9 minute read

One would think that since Android is a Linux-based operating system, that integration between Android devices and Linux computers would work rather seamless...

Back to top ↑

GitLab

Back to top ↑

Cordova

Headless Cordova Android builds on Jenkins

23 minute read

This is a fairly old story, nevertheless I still think it’s worthwhile telling, just in case someone else wants to build Android APKs from Cordova within the...

Back to top ↑

Django

Reverting migrations in Django

4 minute read

When developing Django applications it’s sometimes necessary to revert (i.e. undo) a migration, especially if something didn’t quite work as planned. If som...

Back to top ↑

Postgres

Back to top ↑

Jenkins

Headless Cordova Android builds on Jenkins

23 minute read

This is a fairly old story, nevertheless I still think it’s worthwhile telling, just in case someone else wants to build Android APKs from Cordova within the...

Back to top ↑

Pull Request Club

Pull Request Club: April 2021

5 minute read

The Pull Request Club is a way to connect open source maintainers to contributors through monthly assignments. It’s free to join up (just use your GitHub lo...

Back to top ↑

Physics

Evaporating a pot of water

16 minute read

As part of tutoring physics and maths to high school students, I sometimes write up deep-dive explanations of questions arising during lessons. The question...

Sailplane glide distance

7 minute read

As part of tutoring physics and maths to high school students, I sometimes write up deep-dive explanations of questions arising during lessons. The question...

Back to top ↑

After school help

Evaporating a pot of water

16 minute read

As part of tutoring physics and maths to high school students, I sometimes write up deep-dive explanations of questions arising during lessons. The question...

Sailplane glide distance

7 minute read

As part of tutoring physics and maths to high school students, I sometimes write up deep-dive explanations of questions arising during lessons. The question...

Back to top ↑

Profiling

Test suite profiling

15 minute read

Recently at $work I found that our test suite was taking longer and longer to run and had begun to slow down development. A long-running test suite smells of...

Back to top ↑

Hardware

Controlling screen brightness via ACPI

9 minute read

Really, this is just a workaround for an issue I haven’t completely understood. Nevertheless, since I had to work out how I’d handled brightness control via...

Back to top ↑

Dell

Controlling screen brightness via ACPI

9 minute read

Really, this is just a workaround for an issue I haven’t completely understood. Nevertheless, since I had to work out how I’d handled brightness control via...

Back to top ↑

PostGIS

Back to top ↑

Pair programming

Back to top ↑

Tmux

Back to top ↑

Books

Back to top ↑

Book reviews

Back to top ↑

Selenium

Back to top ↑

Debian

Backing up photos from Android to Debian

9 minute read

One would think that since Android is a Linux-based operating system, that integration between Android devices and Linux computers would work rather seamless...

Back to top ↑

Mutt

Two handy mutt tips

5 minute read

Mutt is a very powerful email client, mainly because it’s terminal-based and because it has a vast array of terse commands reminiscent of the terse command p...

Back to top ↑

Redmine

Back to top ↑

HOWTO

Back to top ↑

Docker

Back to top ↑

SSH

Starting ssh-agent in Windows PowerShell

2 minute read

As someone who works mostly on Linux, there seem to be a multitude of issues for me to stumble over when having to use Windows. Using ssh in Windows PowerSh...

Back to top ↑