Skip to main content

joeri poesen / bio / blog / contact

Parsing NGINX error logs with PHP

I needed a way to fetch and parse various system logs, including the NGINX access and error logs.

Here's an example log entry that I needed to parse into an array:

Adding alternating class names to Drupal 8 Views rows via twig

Here's a a quick and easy snippet to add alternating class names to your views rows, also referred to as 'zebra' tables or 'striped backgrounds'.

1. Copy



Surprisingly Easy Recipe: Salmon-Broccoli-Courgette Quiche

Quiches are pretty straightforward to make. And you can pretty much thrown anything in them as long as you get the basics straight. They can be as light and healthy or cheesy and heavy as you want.

Minimal Viable Buddhism Part 2: The Four Noble Truths

The Buddha invited his followers time and again to not blindly accept what anyone says, teaches or preaches, but to consider the words carefully and
decide for themselves whether or not they made sense.

Minimal Viable Buddhism Part 1: The Buddha's Backstory

This article is part of a series on a journey through Buddhism.
See for personal context.

Running Elementary OS on a 2015 Macbook: a 30-day evaluation

[This article discusses Elementary OS Freya on a 2015 Retina Macbook]

Not being happy with the increased sluggishness nor the manner in which Apple continues to police and dictate the way people to use their hardware, I recently installed Linux on my 2015 Macbook.

On isms and belief systems

I had never given religion much thought until I spent a few years living in a predominantly Muslim country and realised how much of one's belief system permeates daily life and drives the choices we make and actions we take.

PHP/Drupal Code Quality Quick Wins, Part 3: Automated Validation with Git pre-commit Hooks

Even within small, closely-knit teams introducing new ways of doing things can take its time being adopted across the board.

PHP/Drupal Code Quality Quick Wins, Part 2: Validating Code Standards

The Drupal project has coding standards, available at, based on the PEAR coding standards (

PHP/Drupal Code Quality Quick Wins, Part 1: Linting

In this first part we’re looking at a few tools that are very easy to set up and use, yet can make a dramatic impact in the quality and coherence of your team’s codebase.