By Bill Seremetis, 10 April, 2021

While this article is the de facto choice for everybody working with Drupal, you might run into some problems if you follow it blindly. Most important, composer global is under .config/composer.

Installation is actually pretty straightforward:

By Bill Seremetis, 4 March, 2020

Huawei Matebook D14/D15 are decent laptops that cover all simple daily computing needs and even more than that. They look quite decent to handle daily workload of a web developer too, but I haven't tested them to that extend.

If you happen to have one of those, or other similar from other manufacturers (like Honor Magicbook) that have an AMD Ryzen 3500U CPU and Realtek RTL8822CE network card you'll be surprised to find out that Debian and several other Linux distros don't install/run as expected.

By Bill Seremetis, 4 November, 2019

By using direnv you can set environmental variables depending on the current directory. This allows us to alter several variables, like the default Drush URI, by adding the following in our .envrc file:


With this, whenever you type drush uli a proper login link will be constructed.

But why stop here? We can use the same trick to make all composer binaries executable without having to type ./vendor/bin/ every time. Just add this to your .envrc file:

By Bill Seremetis, 1 April, 2018

UPDATE 2018: Cloudflare announced public DNS Service.

I haven't been using the DNS that my ISP provides for five years now and many problems have gone away. Especially problems regarding updating speed. I've been using OpenDNS for my systems, and Google DNS for most of the setups I do for other people. Both because they are stable and easy to remember.

Lately I decided to find out what other option are out there. I'm happy to provide a complete list of IPv4 and IPv6 of publicly available DNS.


By Bill Seremetis, 8 March, 2018

Currently there is no tool to mass import redirects from a CSV file to Drupal 8. The module path_redirect_import tries to solve this, but I had limited success (2%) when using it with D8. So, me and my colleagues created this bash script to solve the problem. The CSV file must be format like this:

source (without leading slash),target (with leading slash)

By Bill Seremetis, 7 March, 2018

Occasionally, you might stumble upon a strange error, that happens both on production servers and dev server (ie with the php dev server). You might try to edit (enable/disable/reorder) a menu item in a Drupal menu, but this won't be saved.

This could happen on really big menus, with a lot of items in them. PHP is blocking this change, as a security measure!

For people not running the Suhosin patch, editing the following value in php.ini should do the trick:


In my case I had to bump this up to 3000!

By Bill Seremetis, 17 June, 2017

While HD44780 were quite well documented for RPi1, there is some confussion with RPi2/3 with LibreElec. In case you don't know them, HD44780 screens are affordable and easy to use displays that communicate over a parallel connection. They can be attached to an RPi on the GPIO directly, and they are excellent for displaying data without opening your monitor or TV.

By Bill Seremetis, 19 April, 2017

While it is very easy to add a network printer on Linux (and any other OS for that matter), a network scanner isn't that easy. For one, searching on the internet for "network scanner linux" or anything like will yield results for programs that scan the network, not for scanning documents over the network. So, the easy way of finding somebody that has done this before you is not that easy.