Categories


Recent Posts


Archives


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 magento-quickies.tumblr.com. 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 7 series directly via the following links. Pestle, Four Steps to Async Iterators, Checking in on OpenMage and Magento in 2020, Text Encoding and Unicode, Shopware's Development Environment, A Sentimental Gen-X Programmer Culls his Tech Books, and, Containers, Containers, Containers.

NPM’s Dependency Model

I’m coming up on about a year of full-time NodeJS work, and it’s only now that I’m starting to understand the true nature of NPM’s dependency management. When I’ve used other systems, (primarily composer), “management” of those dependencies meant your package manager will yell as you if [...]

astorm

How does Deno Use Rust

Reddit is not my natural enviornment, but I occasionally hover around its various programming communities. This is a personal archive of an answer to a question about the Deno, the new “run javascript on your own computer” project. I’m far from an expert in all the real details here, but I’ll give this a go. Deno [...]

astorm

Async/Await and Recursion

So here’s a “fun” side effect of async/await in NodeJS. I had a bug. It seemed like it might be run away recursion bug. NodeJS doesn’t let you set an explicit recursion depth limit, but it does limit the size of your call stack. So how could there be a recursion bug without Node throwing up errors and/or crashing [...]

astorm

@grpc/grpc-js Goes 1.0

A quick note to congratulate anyone working on the @grpc/grpc-js project for their 1.0 last month. There’s been a C++ native module of GRPC around for awhile now, but @grpc/grpc-js a pure TypeScript (that compiles to pretty clean javascript) implementation, and we’ve found That it’s mostly a drop in replacement for grpc [...]

astorm

TypeScript won’t Save us

A few weeks ago I started working with gRPC for the first time. These days gRPC stands for “general-purpose remote procedure call”, but I still think of it as “Google remote procedure call”, as it’s a project that came out of, and is primarily maintained, by Google engineers. It’s a system for building [...]

astorm

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 [...]

astorm

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 [...]

astorm

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 [...]

astorm

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 [...]

astorm

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 [...]

astorm
email hidden; JavaScript is required