Recent Posts


Category: Programming Quickies

Back in they day, I ran a Tumblr blog named Magento Quickies where I’d post shorter, less in-depth posts about my travels through Magento’s source code. This Programming Quickies categories is the successor to that Tumblr blog. You’ll find all the old Magento Quickies content here, as well as new short posts about programming in general.

This section has its own RSS feed, the old Magento Quickies feed should should be redirecting, and we’re cross posting notifications for new posts over to In other words, you shouldn’t need to know any of this, but the duct tape that keeps the internet held together isn’t aging well, so your mileage may vary.

Below you'll find all the Programming Quickies articles on the site, followed by a chronological listing of the same. You may also browse the 4 series directly via the following links. Pestle, Four Steps to Async Iterators, Checking in on OpenMage and Magento in 2020, and, Text Encoding and Unicode.

Don’t Make them Tell you Thrice

Here’s an API design pattern that drives me a little nuts. If you’re using the Apollo GraphQL client to make a data fetching query, your code looks like this. client.query({ query: gql`query { ... your query here ...}` } However, if you’re using the apollo client to make a graphql mutation query, your code looks like [...]


The End of 10-Digit ISBNs

A small post that’s a little off my normal beat — sometimes software feels like a never ending series of Y2K like paper cuts. ISBNs are cross-publisher serial numbers for books. If you’re publishing a book, and you want to tap into global supply chains (i.e. have stores be able to order and stock your book), you need to [...]


Pestle Windows Support

Here’s two quick stories about providing native Windows support for pestle. Home Directory The first issue boiled down to our using the following code to get a user’s home directory $home = trim(`echo ~`); if(!is_dir($home)) { throw new Exception("Could not find home directory with echo ~"); } This works for the *nix [...]


Commerce Bug 3.2.4 Released!

Just a quick note that a new version of Commerce Bug (3.2.4) is out in the world. This release fixes a small bug where the jsTree elements in the KO Scopes tab could interfere with the styling of jsTree elements that core Magento used in places like the Access Control Roles tree. If you follow my feeds on Stack Overflow or Twitter you [...]


Changing WordPress Host Names

Recently I was moving a few of the websites and web applications I run on my laptop from .dev domain names over to .localhost domain names. The .dev top level domain became a real thing a few years back. Google bought it, started using it, and (most importantly) browsers started automatically redirecting .dev domain names from http to [...]


Pestle 1.5 Released

A new version of Pestle (1.5.0) has just been released. This is the big “generate code outside of app/code if you want” release — full docs for the new feature are also available. Download instructions are in the, and current users should be able to update with a $ pestle.phar selfupdate The new feature is [...]


Composer Virtual Packages

The KnpLabs/php-github-api project was invaluable to me during my recent composer/Magento research. GitHub offers both REST and GraphQL APIs that you interact with via HTTP, but it’s often easier to use these sorts of APIs with a package that gives you classes or functions that handle the HTTP POSTing and serializing of the data. [...]