Symfony: Roles and Permissions in configuration

There are different approaches to managing roles and permissions on a project, ranging from very simple hardcoded checks to fully adjustable database based solutions »

Why and how I started learning Python and Machine Learning pt.1

why Python and ML together? PHP web development is my current day job, but I have been looking into expanding my horizons for some time now. I would not dare »

Empty GIT commit

Empty commits in git make sense is some scenarios, you might use them to trigger workflows, builds, test commit hooks etc… To create an empty commit, simply »

PHPUnit: Mocking external data provider in functional tests

Mocking is a common thing in the world of automated testing, nothing to write home about. Nevertheless, I decided to document how to do it in Symfony with PHPUnit »

OAuth2 Tokens in Postman

I like to use Postman when developing REST APIs. It allows me to save, group and share different requests, prepare different payloads to test different scenarios »

My Terminal setup

A few friends have asked me about my terminal setup, so I decided to write up a small blog post about it. This is what my terminal looks like in action: »

Git: Cleaning up merged branches

Using some kind of git branching strategy (e.g. GitFLow, GitHub Flow or other) normally produces quite a lot of branches. When these do not get merged on you »

JSON compression using transpose

I stumbled upon a blog post about compressing JSON data by rotating it 90 degrees. This caught my eye, so I decided to have a play with it. Malc (the author »

Drupal: Open Atrium alter Message Notification type

Recently I needed to send Created message instead of Updated when editors publish node in Open Atrium. This is how you can simply alter message type, which is »

Drupal: debugging to a file

Drupal and debugging often means using Devel, which ships with some very useful functions like dpm(), kpr(), dpq() and more for outputting debug stuff, but these »

Drupal: EntityMetadataWrapper auto-completing code

Using entity_metadata_wrapper() from the Entity API module has a lot of advantages discussed all over the internet, but it has been bugging me for quite some »

Drupal: Slow Manage Features page

Many sites and distributions built on Drupal make use of Features. It often happens that having a big number of features on a site makes the Manage Features »