"To me programming is more than an important practical art."
— Grace Hopper
After last week's dive into the AWS CDK I completed deploying the lambda side of the service I have been working on for the best part of 2022; in doing so I hope to draw a line under this refactoring and begin working on some more PHP.
To give some context: in the beginning of 2022 I took stewardship of our new monorepo and within a shiny refactoring of portions of our PHP monolith to a fresh TypeScript Node project.
The problem with the PHP side was largely down to two things: the many layers of edits over a ten-year period adding complexity and PHP not having a first-class solution to async processing. This was to be a full rebuild of this sub-system, one cog in an engine containing over a hundred others but almost all of them dependant upon it therefore it being slow made large swathes of the application slow.
With the refactoring to node significant speed improvements where realised fairly early on, eventually going from endpoints taking forty seconds down to little over four seconds with identical functionality. This was mostly down to being able to run ten different checks at the same time and return as soon as they all resolved or bailing at the first failure rather than them running in series as before with PHP.
In hindsight, I am now aware of PHP libraries such as Spatie\Async which would likely given us the same or similar speed improvements in addition to being in a language the whole team understands. I was initially sold on refactoring to Node based upon a mistaken belief that PHP wasn't supported by Lambda however with the lambda PHP runtime we could have reaped the benefit of lambda's cost savings without the cost of learning another language to do so.
Joke of the week
Question: Why did the cat sit on the computer?
Answer: To keep an eye on the mouse
Notable Articles Read
- Carl Johnson: What’s New in Go 1.20, Part I: Language Changes
- Kevin Chung: Taking over a Dead IoT Company
- Kristin Monroe: In Lebanon, Solar Power Is Booming. Why?
- Chris Benshoof: Sierra’s Macintosh Timebomb
- Monica Young: The James Webb Space Telescope Is Finding Too Many Early Galaxies
Notable Videos Watched
- Wittworks: fall in love with your miter saw again, I'd like to use the spare wood I have left over from building my garden office and build a small wood working bench in the garage for future projects.
- ScreenCrush: ANDOR: Every Clue that LUTHEN is a Secret JEDI, having binge wached Andor this week a lot of my additional screen time has involved videos about Andor or the Star Wars universe in general.