Phil Wolstenholme
@wolstenhol.me
260 followers 890 following 89 posts
Lead front-end eng @CoopDigital. Interested in the web (front-end, #a11y, performance), environment, bikes (everyday/utility) and science. @[email protected]
Posts Media Videos Starter Packs
wolstenhol.me
Team size changes, project work, and winter sickness has meant that we're sometimes running as a pair rather than a small mob/ensemble at work. I've never done much pairing! Are there any particularly good blog posts, talks, or books on doing it well and/or different approaches to try?
wolstenhol.me
Neat little feature on my new personal site: use the `Sec-CH-UA-Mobile` header (or UA sniffing 😔) to know the device type during SSR and show fewer items per page. This saves mobile users from having to scroll past giant stacked lists that would be in a nice grid on desktop:
https://gist.github.com/philwolstenholme/fff89398fd02f0032859c9a3a60cfc94
wolstenhol.me
Also, black tape pagination buttons, because why not?
'Previous' and 'Next' buttons using black masking tape as their background image
wolstenhol.me
New feature on the redesign of my personal site (wolstenhol.me) – show when its the birthday of a repo I've starred on Github. Happy anniversary for oRPC, @unnoq.com!
A very close up and cropped screenshot of a website card representing the 'unnoq/orpc' Github repo. The card shows a repo description, its number of stars, its language, and a birthday cake emoji next to the next '1 year old this month'
wolstenhol.me
I'd almost completely forgotten about a talk I gave in the depths of Covid for DrupalCon EU. I've just found a blog post I wrote (on a Medium account that I'd also forgotten about!) after getting my session feedback back and I'm feeling nostalgic: philwolstenholme.medium.com/my-drupalcon...
My DrupalCon Europe 2020 session feedback
Back in December I gave a talk on using Tailwind with Drupal, and why, for me, it makes sense in an agency environment where long-running…
philwolstenholme.medium.com
wolstenhol.me
Oooh, what would this be?
wolstenhol.me
Lodash with imports from `lodash/package`: 151.16kb
`es-toolkit`: 3.88kb

Tests passing, TS happy, linter happy. There's a bundle size reduction, a speed increase, and we can drop the Lodash ESLint plugin and `@types/lodash` too 🙌

Thanks github.com/toss!
Bundle size comparison table showing the `lodash` package being removed (saving 151.16KiB) and `es-toolkit` being added at a cost of `3.88KiB`
wolstenhol.me
This is a glorious blog post on the history of rendering web pages, how to write a BFF very neatly, returning a representation of UI from a server – and how you might end up inventing React Server Components if you think about these things for long enough:
wolstenhol.me
This is really relevant to me at work at the moment! @tammyeverts.com do you have a link to that Akami study on slowness leading to 28% abandonment, please? I'd like to quote it at work but with a direct link to the source.
wolstenhol.me
Nice article: blog.nelhage.com/post/persona...

Some key points: the person knows what they are doing, the LLM is speeding them up, but when there's a hiccup they can get back on track with their own skills, and the software they are generating is only their responsibility to maintain.
Building personal software with Claude
Earlier this month, I used Claude to port (parts of) an Emacs package into Rust, shrinking the execution time by a factor of 1000 or more (in one concrete case: from 90s to about 15ms). This is a vari...
blog.nelhage.com
wolstenhol.me
urn:li:fs_relatablePostCommaBeenThere:ACoAABQ11fIBQLGQbB1V1XPBZJsRwfK5r1U2Rzt !
wolstenhol.me
Locked in
garius.bsky.social
For those on BlueSky unfamiliar with this modern British tradition:

During times of high winds, we all jump on YouTube and watch planes trying to land at Heathrow, with excited commentary from the UK's premier plane nerd channel.

Currently live here!

www.youtube.com/live/egvoBvc...
Reposted by Phil Wolstenholme
matuzo.at
It's December 1st, and you know what that means: For the next 24 days, we'll publish articles about HTML by 24 authors. You can read them on the website or subscribe to the RSS channel.

Enjoy!

htmhell.dev/adventcalend...
HTMHell Advent Calendar 2024 - HTMHell
An article, talk, or tool that focuses on HTML every day until Christmas.
htmhell.dev
wolstenhol.me
Totally, that's why I like the idea, after a salesperson explains how the 'script is async so there's no performance impact' then you can nod and let them put their money where their mouth (as long as the clause explains the testing methodology so it's harder to wiggle out of it later!)
wolstenhol.me
Ahhhh that makes perfect sense! I was thinking of reviewing RUM data rather than synthetic/lab testing! Maybe add that to the post just in case other readers' minds go to the same place I did.
wolstenhol.me
…I think the way to counter that would be to run a 50/50 A/B test to rule out any changes in demographics or any first-party code changes that could have introduced a performance regression
wolstenhol.me
The contract clause idea is interesting. I imagine a vendor or their legal rep. would argue that you couldn't tie the RUM score change to their product directly, because you could have just had an influx of users on lower-end devices around the time of deploying their tool (or some other excuse)…
wolstenhol.me
That CSS generation idea is super nice! Does it render `style` elements with `linear()` easing functions?
wolstenhol.me
Looks good. It'll make these sort of utilities stand out more, if there are specific values you know those are constants unless you configure Tailwind differently, and if there's a <number> type then you know it'll accept any number
wolstenhol.me
What's the performance hit like (if any)? I am very tempted to suggest moving some of our single-component-level tests to use a real browser, possibly in Vitest's browser mode or Storybook's new testing stuff (both use Playwright I think) but always a bit worried about the overhead compared to JSDOM
wolstenhol.me
Oh wow, I've never seen that before (the ARIA snapshot), that looks great!
wolstenhol.me
Super well deserved!