Sign in

Alex Vanderbist

@alexvanderbist.com
117 followers 53 following 32 posts

Web, tech, and code enthousiast. PHP & Laravel developer at Spatie. Blogging at alexvanderbist.com

PostsRepliesMedia
Alex Vanderbist @alexvanderbist.com · 02/10/2026
Added a swinging sign to the spatie.be homepage. Swing it all the way around and you get confetti. Before AI, stuff like this was never worth the time. Anyone with an agent can generate a slick UI now but the silly extras are what makes it feel a little more human.
010
Alex Vanderbist @alexvanderbist.com · 30/04/2026
Been going back and forth on this for Flare for a couple of days now... Two logs in the current filter. Pin them to the bottom (because that's where new logs land) or to the top (because that's how every table works)? Neither feels obviously right. Both feel slightly wrong 🙃
101
Alex Vanderbist @alexvanderbist.com · 24/04/2026
Wait, terminal tables are responsive now? How does that even work?
010
Alex Vanderbist @alexvanderbist.com · 23/04/2026
The end result on a 6 MB source map: ~100x faster and ~10x less memory usage compared to axy/sourcemap. This is not a stab at axy's package btw (great lib we used for years). Our package is just optimized for our specific read path. github.com/spatie/sour... & full blogpost soon
000
Alex Vanderbist @alexvanderbist.com · 23/04/2026
The biggest win: PHP's lesser-known (un)pack function lets you store data as raw bytes instead of PHP objects. Each mapping is 5 ints. As an object that's ±200 bytes, but as 5 int32s in a packed string it's only 20 bytes. That's 10x less memory used!
100
Alex Vanderbist @alexvanderbist.com · 23/04/2026
Then there's the decoding state. Each line stored its state as an associative array and those string keys aren't free. PHP keeps them in a hashtable at ±250 bytes per entry. Swapping to just values [0,0,0,0] is only ±150 bytes per entry. A 10MB improvement on 110K lines.
100
Alex Vanderbist @alexvanderbist.com · 23/04/2026
First win: lazy parsing + binary search. A source map is a list of lines, each with mappings sorted by column. The old approach decoded every line upfront, all 110K of them. By only decoding the line you ask for and halving the search space, it's only ~17 steps instead of 3000.
100
Alex Vanderbist @alexvanderbist.com · 23/04/2026
We just released a new package: spatie/sourcemaps-lookup It resolves JS stack frames against source maps. Flare uses it in its frame resolver. It's 99% faster and uses 91% less memory on a 6 MB map. Took me a couple of steps to get there... 🧵
120
Alex Vanderbist @alexvanderbist.com · 02/03/2026
I'm giving Codex a go this week. Loving the UI so far but it seems like it's pretty good at planning too. Claude Code often thinks Codex' plans are "slightly more comprehensive" or in-depth
000
Alex Vanderbist @alexvanderbist.com · 23/02/2026
Been deep in package development this week, so I set up an AI skill to toggle between local path repositories and Packagist. No more manually editing composer.json 👌 github.com/AlexVanderb...
001