I specialize in enabling you to use data the way you want to. By participating in the free software community as a Drupal developer, I ensure that the code you invest in has a secure future. Software whose users can freely improve it has potential for growth that cannot be matched by software whose creators restrict the freedom of its users.

How to globally install Composer packages with conflicting dependencies

Submitted by Darren Oh on Sun, 11/11/2018 - 18:12

Composer treats all globally installed packages as a single project with shared libraries. It cannot install multiple versions of the same library to meet the requirements of different packages. However, the cgr command can globally install composer packages with conflicting requirements. You install it as a composer package.


Forcing PowerPC iMac to boot from USB

Submitted by Darren Oh on Mon, 04/30/2018 - 08:47

Yesterday, a friend brought me a second-hand iMac G5 that he could not get the password for. He wanted to erase and reinstall the operating system. We had ordered a Leopard install disk, but the iMac kept ejecting it. I copied the install disk to a USB flash drive, but it did not appear in the list of startup disks. The instructions on the page Boot a PowerPC Apple from USB provided a workaround:


What open source sustainability means

Submitted by Darren Oh on Wed, 04/25/2018 - 09:52

Today I was listening to Talking Drupal #168. The topic was how to ensure that open source project developers can afford to provide updates to their users. As an open source developer myself, I have to disagree with the premise that we should support a distinction between users and developers. The projects that I develop for are the projects that I use. As a user-developer, I do not care how many users a project has. I care how many user-developers it has.

Setting $PATH properly on macOS High Sierra

Submitted by Darren Oh on Fri, 03/02/2018 - 11:58

PATH is a variable that determines where the system looks for commands. Most guides I found suggest setting this in a Bash configuration file. But this only affects commands run in a Bash terminal. Global paths on macOS High Sierra are set in /etc/paths. You can also add a file to /etc/paths.d. Files in that directory have their paths included automatically.


Retrieving data from multiple PHP session handlers

Submitted by Darren Oh on Fri, 02/23/2018 - 13:34

When I was trying to get PHP session upload progress data from a site that uses a custom session handler, I learned that PHP stores the upload progress data using its built-in session handler before it runs any code. This means the upload data is not included when the site starts the session with its custom handler. However, I learned that it is possible to retrieve data from a session, abort it, and start another session with a different session handler.