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.


Community code of conduct

Submitted by Darren Oh on Fri, 02/23/2018 - 12:34
Last year, there was a lot of discussion within the Drupal community about a code of conduct. Many people expressed the hope that a clearly stated code of conduct would prevent misunderstandings and enforce good behavior within the Drupal community. While I support this effort, I think it’s important to keep our expectations realistic. Some kinds of participation should be governed by a code of conduct, some require people to govern them directly, and others cannot be governed by the community at all.