Pestle (my PHP command line script frameowrk and Magento 2 code generation tool) has has a bash tab completion script for a while, but I finally wrote up some basic instructions for using it in the pestle README. It’s super annoying that MacOS doesn’t ship with the more robust bash-completion program installed by default, but [...]astorm
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.
This high level history of PHP passed my desk — I didn’t start using the language until version three (and I still, to this day, forget access modifiers on my class method names or type things like public thisIsMyMethod because the typing cadence for defining a method was two words) so it’s nice to have some high level [...]astorm
Suhosin is an older PHP extension that tries to lock down common security attack vectors in PHP. This locking down includes preventing phar applications (like pestle) from running. If you’re using Suhosin and want to use PHAR archives you’ll need to configure things properly.astorm
I found this out from a random banner on Shopify support page while trying to figure out why my store’s email had stopped working so I figured I’d signal boost it. Hooks are HTTP requests Shopify sends out when an order’s made that include order information. They’re sent to your servers, and let you do all sort of [...]astorm
This whitepaper from Nexcess isn’t your usual “Hey look, we’re sucesful enough to pay a consultant for a whitepaper so we must be stable” affair. Instead it’s a methodical look at every layer of Nexcess’s Magento hosting stack and how they optimize each one for a Magento 2 system. I thought it was a [...]astorm
Over on my sleepy patreon I posted a public example of of the sort of things I’m working on w/r/t Magento these days. My screencasts are still lagging behind when compared to the sort of things being done at Mage2.tv, but the content’s still useful and it’s good speaking practice for meastorm
Another set of slides from a Benoit Jacquemont talk I would have loved to see. My high level summary Don’t forget that your PHP program isn’t talking with anything directly, all activity goes through the your operating system’s kernel, and there are tools (strace on linux) for looking at the system calls your program is [...]astorm
This Stack Overflow post about some weird differences between direct instantionation of an Array vs. using the new Array constructor function is a great example of why coding standards can be more than just window dressing. It’s not that one of the methods is better than the other, but by chosing one over the other you avoid the [...]astorm
Given the date on the Stack Overflow post that saved me this is probably old hat for most of you, but it looks like the MySQL configuration provided by Ubuntu 18’s default apt-get repositories defaults to using “the auth_socket plugin”, which links your MySQL logins with your actual system login. Gave me a bit of the [...]astorm
I imagine it’s a narrow sliver of folks who follow this site and don’t follow the trades, but just in case: Adobe is going to buy Magento Inc. Right now there’s the usual sound and fury you’d expect from the usual places — Magento’s relentlessly on-message machine isn’t slacking off just because [...]astorm
Over the weekend I ended up doing some gardening in my astorm/magento2-travis repositoy. This repo has simple starter travis.yml file that builds and installs a simple Magento enviornment to run your tests in. Travis is an amazing free resource for running your projet’s continuous integration system — if you haven’t [...]astorm
This started out as a snarky post but then I realized how often I need a lookup table like this. What have I become? Product What it Does Laravel Passport A composer package to give your Laravel based API OAuth2 features and capabilities. Laravel Cashier A composer package to simplify Stripe and Braintree’s subscription services in [...]astorm
Gripng PSA follows. Homebrew, the really great package manager and services system for MacOS, has recently shuffled around thier support for PHP. It sounds like the main PHP packages are being pulled into the core repository, but that extensions (mcrypt, memcached, etc.) are being dropped and users will need to install these via pecl. On [...]astorm
I came across this talk video from Brian Marick at the Deconstruct software conference. It was a refreshingly candid take on why the classic software design patterns are generally considered burdensome chains instead of the pattern language they set out to be. And the question is why. I think you can have several reasons, but I’m going [...]astorm