What’s the value of working for an agency?

Submitted by Darren Oh on Wed, 05/15/2019 - 10:57

I work for Cognizant, a technology consulting company. My division, Cognizant Softvision, provides digital engineering services to clients. What this means in practice is that I am embedded in a client’s engineering team. This works fine for me, but I have wondered how the business model works for Cognizant and for clients and whether it limits my earnings.


Too many open files on MacOS

Submitted by Darren Oh on Thu, 04/25/2019 - 11:58

When a lot of things are running at once, hitting the open files limit on MacOS makes things start crashing. Running MacOS Server is supposed to help, but its configuration changes are inadequate if a lot of non-server activity is also going on. Every version of MacOS seems to have a different way of changing the open files limit. Here are some pages that try to follow the changes between versions.


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.