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.
A small bug fix release for everyone’s my favorite Magento 2 code generation tool and ad-hoc PHP module system. This fixes a small bug in the magento2:generate:schema-add-column command that only triggered when using pestle’s interactive mode. This bug, although small, was interesting to the software builder in me for a a few [...]
astorm
This entry is part 3 of 3 in the series Checking in on OpenMage and Magento in 2020. Earlier posts include Checking in on OpenMage and Magento in 2020, and Composer Plugins and Installers. This is the most recent post in the series. Magento 1 was one of the last big PHP platforms that didn’t embrace composer as a distribution model [...]
astorm
This entry is part 2 of 3 in the series Checking in on OpenMage and Magento in 2020. Earlier posts include Checking in on OpenMage and Magento in 2020. Later posts include Installing OpenMage: Bridging a Generational Gap. I’m planning to take a look at options for installing OpenMage — but before we do that we need to do a [...]
astorm
This entry is part 1 of 3 in the series Checking in on OpenMage and Magento in 2020. Later posts include Composer Plugins and Installers, and Installing OpenMage: Bridging a Generational Gap. After years of a sliding deadline, Adobe finally followed through on putting Magento 1 through their “end of life” process. My [...]
astorm
After over a decade on the 2010 version of Square Space I decided it was time to migrate my company’s tiny little website over to the new version of Square Space — the hegemony of black text on a white background comes for us all. Hats off to Square Space for keeping the old platform around for for commoditizing the bespoke [...]
astorm
After three years at the day job I’ve been granted access to a physical escape key. I prefer a “build everything back by hand” approach to setting up a new laptop, and this includes pulling over two locally run PHP applications I use to automate my job. One’s a WordPress P2 instance I use to log my daily work, the [...]
astorm
I’ve had these three free videos on my watch list for a while now. In twenty one minutes Chris Fidao runs you through the basic things you’ll want to do whenever you spin up a new VM somewhere. The videos cover setting up a non-root ssh user, locking down who can log in via SSH and forcing those same people to use SSH keys [...]
astorm
I’m finding the various Rust guides well written — or perhaps just well written for me. This bit in the Cargo Guide (Rust’s package manager and build tool) on Cargo.lock files was particularly succinct. If you’re building a non-end product, such as a rust library that other rust packages will depend on, put Cargo.lock [...]
astorm
This entry is part 4 of 4 in the series Four Steps to Async Iterators. Earlier posts include ES6 Symbols, Javascript Generators, and ES6's Many for Loops and Iterable Objects. This is the most recent post in the series. Generator functions predate the introduction of async/await in javascript, which means that while creating an [...]
astorm
This entry is part 3 of 4 in the series Four Steps to Async Iterators. Earlier posts include ES6 Symbols, and Javascript Generators. Later posts include Async Generators and Async Iteration in Node.js. Today we’ve got another remedial-for-me dive into modern javascript practices. Specifically, we’ll be looking at the for ... [...]
astorm
This entry is part 2 of 4 in the series Four Steps to Async Iterators. Earlier posts include ES6 Symbols. Later posts include ES6's Many for Loops and Iterable Objects, and Async Generators and Async Iteration in Node.js. Generators are weird. They make programs behave in ways that are non-obvious. This weirdness easily turns into [...]
astorm
This entry is part 1 of 4 in the series Four Steps to Async Iterators. Later posts include Javascript Generators, ES6's Many for Loops and Iterable Objects, and Async Generators and Async Iteration in Node.js. One pattern that keeps coming up when I’m spelunking older NPM packages for Node.js is using Symbols to define properties [...]
astorm
Like most middle aged technology writers who write independently online, it’s been harder to “little-p” publish a steady stream of words in recent years. I’ve gotten better at this in 2020 thanks to the WP Scheduled Posts plugin for WordPress. The plugin has a bunch of free and paid features I’ve never [...]
astorm
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
Quick link to a medium article outlining a number of different ways to run your own NPM server. Some self-hosted software, some SaaS solutions. The actual article has more context, but here are the links for (my) quick reference. MyGet NPM Org DIY NPM Git. Sinopia Cnpmjs.org Npm-register Verdaccio
astorm
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
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
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
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
The pile of one-off command line scripts I’ve written for my current weekend projecting finally reached the critical mass where they needed some organizing, which led me to discover the yargs project. Yargs provides mature argument and option parsing for command line programs (both --foo and -b style options) and features for [...]
astorm