Using ReactPHP to run Drupal tasks Saturday 6, July 2019 mglaman
ReactPHP is an event-driven non-blocking PHP framework that allows to you work in a long-running script through an event loop. At its core, ReactPHP provides an event loop and utilities to trigger events at specific intervals and run your code. This is different than normal PHP script execution which of a short lifecycle and per individual requests.  ReactPHP has been used to build web server applications, web socket servers and more. But, what if we used ReactPHP to execute operations and tasks on a Drupal application?

Deprecation message support for PHPStan

Published on Tuesday 2, July 2019

The end of May brought two exciting releases for PHPStan and the PHPStan Deprecation Rules extension. With the version of PHPStan v0.11.8, descriptions added to the @deprecated tag can be parsed and returned in rule checks.

A proper introduction to Drupal Check

Published on Sunday 12, May 2019
You may have heard of Drupal Check. You may wonder what in the world it is or how it even came to be. I realized this went from an internal research and development task for a product, to open source contribution and then to an essential tool in the march toward Drupal 9. The timeline from January to DrupalCon in April has been pretty crazy, and I realized I have never done a proper blog post about Drupal Check.

ContribKanban 2019 update

Published on Saturday 11, May 2019
It seems that I do a roughly annual update for ContribKanban and what I plan on doing with it. This year I evaluated its future and roadmap and how it can be more useful for the community at large.

Come to MidCamp and kick off contribution sprints for DrupalCon Seattle

Published on Monday 14, January 2019
MidCamp, the Midwest Drupal Camp, is coming around the corner! March 20th through the 23rd, hundreds of Drupalistas will converge in Chicago for training workshops, contribution sprints, and sessions! This is one of my favorite conferences. The organizers put together so much thought and effort into each detail.

Writing better Drupal code with static analysis using PHPStan

Published on Tuesday 8, January 2019

PHP is a loosely typed interpreted language. That means we cannot compile our scripts and find possible execution errors without doing explicit inspections of our code. It also means we need to rely on conditional type checking or using phpDoc comments to tell other devs or IDE what kind of value to expect. Really there is no way to assess the quality of the code or discover possible bugs without thorough test coverage and regular review.

Two Zero One Nine

Published on Saturday 5, January 2019
2018 was a weird year. It felt like it just zoomed by and nothing eventful happened. In fact, I feel like most people I have talked to this year felt the same exact way. But, then I sat down to my end of year write up and realized that this year was way more packed than I thought.

PhpStorm protected branches feature

Published on Wednesday 12, December 2018

Recently, while working on a little project, I decided to clean up some of the commits on the master branch before pushing it to Packagist. To be lazy, I decided to use PhpStorm's interactive rebase tool instead of the good ole command line.

BUT I COULD NOT! And I started to go mad.

Published on Tuesday 20, November 2018

People often tell each other to have a good day. But, it has become one of those customary things to say without much meaning behind it. Which is a shame, because we really should remind ourselves to have a good day. A few weeks ago my son Aiden left me a note, which I found after dropping him off at school.


Fall has felt like a whirlwind. I caught myself chasing after the eternal pile of work that needed to be done and not recognizing the victories of the day. Instead of letting myself have a good day, I was forcing myself to a negative for the next day. I wasn't having bad days, but I found myself less than chipper. I found myself working at home more than riding my bike to the coworking space downtown, I had stopped running and reading. I didn't fill those gaps with work, I just took moments to sit.

It is funny how a little note can cause you to stop, think, and act. Despite the wintry midwestern weather setting in (~30°F / ~2°C) I have been able to pick up running again and get my reading back on track. Sometimes you just need a reminder to focus on the victories of the day and remember you did all you can do.

Subscribe to Blog