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
After much delay and churn, I’m happy to announce that No Frills Magento 2 Layout is complete. You can grab your copy over on the Pulse Storm store, or read the preview online. After reading this book you’ll finally understand what, exactly, is going on with Magento’s layout handle XML files. You’ll also [...]
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
It’s always nice when a late answer to a Stack Overflow question shows up with more information than you wanted/needed. The specifics here on dealing with the thread safe resource manager are worth it (if you’re looking for that sort of thing), but more important are the links to the two personal blogs covering random [...]
astorm
When I found the PHP Internals site a few months back, I noticed there was a small credit at the bottom. Built by Thomas Punt & Liam Mann Some Googling showed that Thomas Punt had written this How PHP Executes — from Source Code to Render article for sitepoint. While the article was accurate, like a lot of pro internet content [...]
astorm
I first saw a version of this talk (from @ellotheth) at PHPPNW in 2015, and it’s the first thing that made git rebasing make sense to me. Too many rebasing tutorials are so busy selling you on the benifits that they gloss over what’s happening to repository. Gemma’s talk not only dives into what a git rebase actually [...]
astorm
Given Magento 2’s enterprise ambitions, it wouldn’t surprise me if most stores are routing their transactional emails through a seperate (or a series of seperate) email systems. Because Enterprise™. However, if you’re sticking to Magento’s default email system for the password reset, order thank you, sign up, etc. [...]
astorm
One of the odd side effects of JSON’s wide spread success is how often you’ll run across data that’s not quite json A hello world example looks something like this {a: "Hello World"} If you look at that string, you might think Hey, it’s a JSON string! However, it’s not strict JSON — the a needs to be a [...]
astorm
I had to fix a typo in it (thanks Vinai!), so why not squeeze a link out of my Magento 2: uiElement Standard Library Primer article from last year’s uiElements Internals series. I’m reasonably proud of that, and its predecesor UI Component series. I’m also diappointed (but not surprised) that frontend development in [...]
astorm
A new documentation site for PHP Internals (the pile of C code that’s used to build PHP itself) magically appeared a few weeks ago and it’s pretty great. While the PHP Internals Book tries to give you the context you need to work in the PHP source code, this new PHP Internals site is trying to document every symbol and the [...]
astorm
File this one under old-but-new-to-me tech: OS X/Mac OS ships with a simple command line application named sips that lets you perform simple image manipulations like resizing, rotating, image flips, crops, etc.
astorm
Magento 2, like its forbearers, starts to fall apart when you push larger amounts of data through its systems. One example of this is Configurable Products. Configurable Products allow users to pick options for a product (size, color, etc.), and have each configuration mapped onto a single Simple Product entity. In theory, there’s [...]
astorm
I don’t know much about its provenance, but this small python program is just the thing if you’re trying to export a large Excel spreadsheet to a far more usable/malleable CSV file. Particularly useful for folks with Macs, since Numbers, Libre Office, and Open Office don’t handle large files well (Numbers and Open [...]
astorm
It’s been long enough and I’m now old enough that I can’t quite remember when I started following Simon Willison’s work. He’s the co-creator of Django and one of those early online programming voices that were invaluable if you were cobbling together how all this stuff worked without direct access to the [...]
astorm
When it comes to retro gaming I’m mostly a dillitante, and I’m mostly chasing nostalgia. That probably explains why I’ve only just discovered this fantastic four year old series from a modern game critic (LIne Hollis) playing through the origial Sierra On-Line lineup. I mention this here, on a programming blog, because [...]
astorm
One of the less fun parts about working in a C code base is dealing with the toxic machismo that’s still present in the wider culture. The people I work with are (fortunatly) great, but when I’m wading through the internet for answers I come across things like this time and time again. The top answer is a rant that spends [...]
astorm
Vinai Koop has opened his Mage2.tv service/channel as a free public beta. Right now there’s over an hour of free Magento 2 tutorials, and a roapmap for what content’s coming next. It’s also an interesting example of a single person’s vision for a video delivery system. These sort of systems are common, but are [...]
astorm
While there were a number of extensions for Magento 1 that let you change the IDs generated and printed for Magento’s orders, invoices, shipments, and credit memos, I haven’t seen one emerge for. This post from Classy Llama jumps down into M2’s database table and tries to figure out where Magento 2 generates these IDs.
astorm
The latest version of Google Chrome (Chrome 63) will redirect any domain that ends in .dev and .foo to an https URL automatically. It sounds like Google felt they could do this since they bought the entire .dev and .foo global top-level domains (gTLD). I joke complained about this on Twitter before, but it seems like my Chrome finally [...]
astorm
Last time we ambushed you with a bunch of information about how C manages memory when you declare variables in your programs. Today we’re going to stick to int, float, and char variables, but get into the nitty gritty of actually using them. To start, let’s consider our original hello world program. #include<stdio.h> [...]
astorm