I just updated my example Magento 2 travis build file to work with the newer versions of M2 coming out of GitHub. This file does the heavy lifting of cloning an M2 Magento repo, running the installer, and adding the composer module you want to test to the project. Travis remains one of those how is this free wonders for anyone doing [...]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.
I’m still finding the PHP Internals Books to be a welcome breath of fresh air. Today is was their instructions on getting a working build enviornment for the PHP-SRC repo up and running. Straight forward, no nonsense instructions. There’s a bit of assuming you know your way around compiling things but that’s always [...]astorm
Thanks to Nicolas Batty (who seems to have the good sense to live offline) for a correction to the old Magento 2: Fixing Area code Not Set Exceptions quickies post. In the original post I’d recomended a fix for area code not set errors in Magento 2 CLI command by doing something like the following public function __construct( [...]astorm
Fuzzers are a category of security testing software that will throw all sorts of random data at a software system looking for flaws that can then be exploited by individual penetration testers. Sort of like throwing a bunch of paint around the room trying to find the invisible man. I found this talk about a PHP Internals Fuzzer from [...]astorm
This post by Julia Evans (author and artist of the amazing Bite Sized Linux zine) caught my eye. I can’t tell if this is an old-man-computer thing or if it’s a legitimate troubling trend (probably both), but as consumer web sites increasingly become a Squarespace/Wix sort of thing and not a DIY sort of thing, the DIY tools [...]astorm
Vinai Kopp (of magetv fame) just released a small project with an improved cache cleaner for Magento 2, and it includes a file watcher. i.e. if you change a file that typically requires you to clean your cache to see changes, (like a controller or a layout XML file), this watcher will automatically notice and clear your cache for you. It [...]astorm
Zephir is a programming language for building PHP extensions. As in, the .so files that extend the PHP language itself. Normally you need to use the C programming language to create a PHP extension, but Zephir is an intermediate language you can compile down to C code, (using the provided tooling). Its build system also automatically [...]astorm
In the begining (or near enough to it), PHP had a set of functions for talking to MySQL databases — mysql_connect, mysql_query, mysql_.... While newer database APIs like the mysqli_ functions and PDO came along these older functions hung in there and remained hugely popular right up until the end. The end being their removal from [...]astorm
I don’t have any first hand experience with it, but Moltin’s a new-to-me API Only ecommerce service/start-up. API only meaning there’s no UI, just REST endpoints for you to call and perform the basic operations of any ecommerce system. If you only have shallow knowledge of other open source and commercial ecommerce [...]astorm
I just released version 1.4.3 of pestle over the weekend. Mostly a maintaince release and tightening up things I stumbled across while working through the Learning Magento with Pestle screencast series with my patreons. We’v also got a few additional contributors to the project. Pestle is a command line framework I built to manage [...]astorm
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
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