Simon W
banner
simonw.xyz
Simon W
@simonw.xyz
UK web dev - mostly Laravel. Svelte is great though. I'm a drummer, vegan, engaged, and have rabbits. Level 2 British Sign Language done! Get creative and learn stuff, always.
Spent some time fixing a #css issue which bugs me with most implementations of sticky stacking cards; Scrolling is often imprecise or jumpy, so you usually end up with cards unsatisfyingly overlapped... Unless you add a little "wiggle room": svelte.dev/playground/7...
November 7, 2025 at 3:08 PM
I followed a creative itch and learnt about SVG paths. It was hard to find the motivation today, but I'm pleased to have done *something*. Take a look :) #svelte #webdev svelte.dev/playground/a...

Also shout out to @joshwcomeau.com. Their exceptional SVG articles inspired me out of the day's funk.
October 29, 2025 at 6:04 PM
Tiny #php tip: Swap `array|Traversable` type-hints for `iterable`.

Arrays, a primitive type, can't inherit or implement interfaces. So to type-hint something you can pass to a `foreach` you would otherwise need to accept arrays and traversable objects. The iterable alias handles that for you!
October 24, 2025 at 2:04 PM
How does Bigfoot protect his data?

It's all in cryptid
September 30, 2025 at 5:40 PM
Typescript feels like an uphill struggle and I'm either going to push through and get stronger or end up with arthritic knees.
September 4, 2025 at 3:33 PM
Reposted by Simon W
I've been trying to articulate why the fawning, complimentary responses from AI chatbots feel so insidious to me. I've finally figured out how to explain it.

Wrote a long piece on how current model training and design choices threaten our critical thinking skills: maggieappleton.com/ai-enlighten...
A Treatise on AI Chatbots Undermining the Enlightenment
On chatbot sycophancy, passivity, and the case for more intellectually challenging companions
maggieappleton.com
August 6, 2025 at 9:34 AM
Inspired by a recent Posy video - I wondered what would happen if you Gaussian Splatted a selfie video. Seems that @jawset.bsky.social Postshot seems to get quite confused, tries it's best, and creates something wonderfully trippy as a result.
July 30, 2025 at 11:57 AM
Just started tinkering with @astro.build. Had been considering rewriting my Nuxt based personal site with Svelte, but maybe I just go for Astro instead. No need to throw away *all* the old code - just islandify all the things.

We shall see. In any case, very intriguing.
June 24, 2025 at 5:10 PM
Reposted by Simon W
The fact that so many people think celebrating the end of slavery in the US is “DEI” is actually clarifying of what they mean when they use DEI. amp.cnn.com/cnn/2025/06/...
Juneteenth: How cities are scaling back celebrations after Trump-era DEI rollbacks | CNN
Despite Juneteenth’s status as a federal holiday, celebrations across the country are being scaled back or canceled, as organizers cite safety problems and mounting resistance to diversity, equity and...
amp.cnn.com
June 19, 2025 at 4:46 PM
Working on a menu system and I'd like to compose the it as a heirarchy of Component classes. Sadly, instantiating them yourself causes errors to be thrown on render, due to no $attributes being set.

Maybe Laravel is telling me I should be handling more of this logic in the view...
June 11, 2025 at 11:36 AM
Just saw an issue on an open-source project where someone had passive aggressively posted a full convo from an LLM on how to fix the problem. Including a suggested schedule of sprints. It took so long to scroll past, oh my god. Why are people like this?
May 22, 2025 at 2:35 PM
I think there are parallels between learning a new keyboard layout and gaining fluency in sign language finger spelling.

I want to reach a point where I stop thinking of letters and develop muscle memory for common patterns. Maybe it's time for me to start drilling diagrams and trigrams in BSL. 🤔
May 11, 2025 at 8:46 AM
#laravel people, do you use the Context system much? I've not found myself reaching for it since it's addition, but maybe I'm just missing a trick.
April 23, 2025 at 3:38 PM
Reposted by Simon W
G̶o̶o̶g̶l̶e̶r̶… ex-Googler.

nerdy.dev/ex-googler
G̶o̶o̶g̶l̶e̶r̶… ex-Googler. · April 10, 2025
My role at Google was eliminated.
nerdy.dev
April 11, 2025 at 6:05 PM
Reposted by Simon W
💡 CSS Tip!

Shapes with rounded corners are a nightmare in CSS but it's now easy with the new shape() function! 🥳

Let's start with a classic: The Hexagon

css-tip.com/rounded-hexa...

Yes, you can animate the radius and rotate the shape. Modern CSS is cool!
April 16, 2025 at 11:00 AM
Every time I read the words "vibe coding" I lose a few brain cells
March 24, 2025 at 3:03 PM
Reposted by Simon W
An infinite logos animation? Here is the real infinite logos animations! ♾️

css-tip.com/infinite-log...

#CSS
March 13, 2025 at 12:24 PM
This Unorthodox Eloquent post I read ages ago by @muhammedsari.me is great. Found it again today while trying to remember Tappable Scopes - a clever way around magic method local scopes.

There's a bunch of really fascinating ideas in this post alone, and there's a follow up post with more! #laravel
Unorthodox Eloquent - Muhammed Sarı
I've been working with Eloquent for over half a decade now, and it's time to share my bag of tricks. Buckle up, it'll be a good ride!
muhammedsari.me
March 11, 2025 at 10:57 AM
This Bent Knee live show absolutely rips
Bent Knee - Live at Big Nice Studio (Full Concert Film)
YouTube video by Bent Knee
youtu.be
March 10, 2025 at 3:03 PM
Spotted the CSS Painting API draft spec. The idea that using a little CSS and JS you could turn any element into a <canvas> via background-image is wild.

They have an example rendering an image placeholder, but imagine passing your paint worklet a blurhash variable, rendering an lqip while loading.
CSS Painting API Level 1
drafts.css-houdini.org
February 18, 2025 at 12:19 PM
I improved this weird clock! It has a different colour for pm, hours and minutes move gradually, and nothing animates backwards on minute / hour changes, much nicer. That happened because css animating from 1 turn to 0 turn doesn't take the "shortest path". The solution... Only ever increase!
February 14, 2025 at 1:08 PM
The time is 3:27:49, as you can clearly see by this clock I just made with a few stacked conical gradients and a mask. I've always enjoyed abstract and hard to read clocks.

svelte.dev/playground/3...
February 11, 2025 at 3:34 PM
#Laravel people. When using "create" policies in your views, do you do anything to avoid fully qualified classes?
E.g. `@can('create', \App\Models\User::class)`
January 31, 2025 at 2:44 PM
git switch -c "update-$(date +%Y%m%d)"

Why would I take 1 minute to write the current date, when I can spend 10 minutes working out how to properly interpolate a formatted date into my branch name.
January 24, 2025 at 2:26 PM
Looking back at old code, I think I used to lean into imperative solutions for problems a lot more than I do now.

As an example, years ago, formatting a model's attributes for output I wrote a system which format based on the attribute name, ending "diameter" (append mm), or "volume" (ml), etc.
January 15, 2025 at 2:47 PM