Newsfeed

A first functional test in Drupal 9 (test a redirect in a controller)

...of course this took longer than anticipated, but I have achieved this milestone, writing and executing a complete functional test in Drupal. It was not an easy, trivial test - and the path I took in implementing it highlights the gotchas and difficulty of writing such tests. As well, my process is likely not be unique, and the challenges I faced appear common. It there appears valuable for me to put down a quick writeup on quirks and tricks I saw along the way. In this article, I assume the reader is an intermediate Drupal developer.

20250911 Daily Scrum

Lost my laptop, possibly due to a virus, and now I have to rebuild it. Yeah, losing a laptop is hard. On the one hand, I have to be ready for such unfortunate events. And I actually am ready - I have a recent backup. I have non-recent backups, as well. Most important things are also duplicated in the cloud. Some heavy files like videos aren't backed up, but I'm actually not losing much there. And I managed to back up text files and important small files of the most recent days, via a tether. So I'm good, overall. 

How I set up the docker image with systemd and sshd

For testing ansible roles, I need a docker container that runs systemd or init - a container in which services can be enabled. I also need this container to be accessible via ssh. This way, I don't have to spin up cloud resources (which are not free) in order to test doing something on a remote.

[FIXED] problem installing ruby 3.4.5 on mac:

I see the following error when compiling ruby from scratch using rbenv:

In file included from debug.c:27:
./vm_callinfo.h:183:9: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
        rp(ci);
        ^
./internal.h:89:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)

I updated rbenv and rbenv-build to latest, to no avail.

According to stack overflow, the solution, that worked for me, was to update xcode:

20250811 Daily Scrum

In order to improve my writing skills, I should write on a regular basis. The amount of writing is measured in either the number of words written, or the hours spent writing. Of course, there is an inherent conflict of interest, an inherent corruption when measuring work in such a way. See The Inherent Corruption of the Employee.

How will I promote and market my material? And for what purpose? What am I selling? What is the path (karate-do) that I'm pursuing, what is in my DNA? These and other questions are answered succinctly in The Core.

An example of NAT routing in docker-compose

This is an example of setting up a NAT inside docker - in a fairly self-explanatory and minimal way. There are three examples that you can run in this setup: a positive example, a negative example, and a chatty positive example for debugging and demonstration purposes.

Utilities: Resizing and scaling images in python. And a filename-insensitive data loader.

I recently wrote this utility... a mere function, really, to resize and scale a python image at the center. This way, I don't have to worry about how my images are being fed into an AI pipeline, if they all get scaled and cropped the same.

Additionally, while previously I used bash to rename files in a folder to sequential names such as 1.jpg , the current implementation ignores filenames, which saves me time when massaging the data.