Simon W's Avatar

Simon W

@simonw.xyz.bsky.social

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.

39 Followers  |  279 Following  |  101 Posts  |  Joined: 02.11.2024  |  2.2617

Latest posts by simonw.xyz on Bluesky


A series of emails with extremely dodgy looking sender names, each with a very dodgy looking pdf attachment, using non-latin characters in English phrases like "Final Warning" and "Payment RequireD".

A series of emails with extremely dodgy looking sender names, each with a very dodgy looking pdf attachment, using non-latin characters in English phrases like "Final Warning" and "Payment RequireD".

A few of years ago I started migrating away from Outlook email. In the last year or so especially I've started getting a lot of spam in my old outlook inbox, but given that Microsoft is a company with near limitless resources it's probably just some really sophisticated spam filter avoidance, right?

19.02.2026 10:52 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Me: My new year's resolution is to drink loads of water.
AI server farms: Me too πŸ˜‚

29.12.2025 09:35 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Every time I have to look up the Intersection Observer API to do something like this I think "this should just be a CSS thing", it'll be a good day when this is baseline - damn.

11.12.2025 15:40 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
mister_simon - Twitch Dustforks

Going live on twitch: #laravel dev learning #symfony - how hard could it be? www.twitch.tv/mister_simon

11.12.2025 12:16 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Thinking about how AI is not a hammer making every problem look like a nail. But a hammer which people say works like all the other tools while the hammer desperately smiles and nods.

26.11.2025 13:32 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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...

07.11.2025 15:08 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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.

29.10.2025 18:04 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Code demonstrating a php constructor accepting an iterable, rather than an array | Traversable union type. The iterable items are then used in a foreach loop.

Code demonstrating a php constructor accepting an iterable, rather than an array | Traversable union type. The iterable items are then used in a foreach loop.

24.10.2025 14:10 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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!

24.10.2025 14:04 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

How does Bigfoot protect his data?

It's all in cryptid

30.09.2025 17:40 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Typescript feels like an uphill struggle and I'm either going to push through and get stronger or end up with arthritic knees.

04.09.2025 15:33 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I think the point is that many people are coming to believe it is a magical everything machine, with infallible logic. So it's funny when the logic it fails on is just so incredibly basic.

08.08.2025 08:52 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
A Treatise on AI Chatbots Undermining the Enlightenment On chatbot sycophancy, passivity, and the case for more intellectually challenging companions

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...

06.08.2025 09:33 β€” πŸ‘ 149    πŸ” 37    πŸ’¬ 14    πŸ“Œ 6

Could see this effect being cool for a music video of some other application where the messiness would be creatively welcome.

30.07.2025 11:57 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I achieved this effect by copying the input camera keyframes to a new camera, spreading them across a longer timeline to allow it to interpolate between poses, and finally tweaking FOV and tinkering for a while.

30.07.2025 11:57 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

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.

30.07.2025 11:57 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

*skips failing tests*

17.07.2025 11:12 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

As soon as I learnt that AI would use "delve" a lot, it disappeared from my day to day speech. Quite the opposite effect.

15.07.2025 10:23 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Aside from that thought, this looks very smooth to work with. Great stuff! 😎

27.06.2025 09:40 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I wonder how the styles are compiled? Will it include every colour and size variant class even if your app only uses one? Difficulty in purging unused styles is probably not a huge issue, but a definite tradeoff if the UI lib has a lot of components and variants.

27.06.2025 09:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

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.

24.06.2025 17:10 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Super impressive, damn. Wish we had simple pseudo selectors for things like this.

One thing, would it be possible to name variables / custom properties a little more descriptively before you share it? Would really help with more quickly understanding the magic you've cast haha.

20.06.2025 09:14 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
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...

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/...

19.06.2025 16:46 β€” πŸ‘ 2980    πŸ” 819    πŸ’¬ 41    πŸ“Œ 53

I'd be interested to know what you came up with. Seems like quite a complex use case. So - Livewire pulls a model with info about the layout, Livewire then hydrates a layout component with appropriate attributes and renders it out for your email? But there's some snag along the way? Tricky.

16.06.2025 11:12 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Shows a component's blade view. Each item in the items collection is output using Blade::renderComponent($item).

Shows a component's blade view. Each item in the items collection is output using Blade::renderComponent($item).

Setting the navbar's items as a collection of components. The "Home" Link instance's attributes are customised by calling withAttributes to set a "btn-home" class.

Setting the navbar's items as a collection of components. The "Home" Link instance's attributes are customised by calling withAttributes to set a "btn-home" class.

Solved: Use Blade::renderComponent($item) to properly render a component you instantiated yourself.

Bonus: Use "withAttributes" to manage the component's attribute bag programatically.

11.06.2025 13:56 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

The problem I'm really having is that calling `->render()` on a component doesn't actually do the same thing as the blade engine does - passing all the public properties and methods as variables, and importantly - passing the attribute bag along, etc. Time to dig deeper.

11.06.2025 12:00 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
An example Navbar component, the constructor sets the items property to a collection of Link and Dropdown components (Home, About, Services Dropdown, etc).

An example Navbar component, the constructor sets the items property to a collection of Link and Dropdown components (Home, About, Services Dropdown, etc).

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...

11.06.2025 11:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Ergo split columnar keyboard, never touching mouse for max ergonomics, but sitting like an absolute gremlin in an old ass chair with only one arm rest.

11.06.2025 08:59 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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?

22.05.2025 14:35 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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. πŸ€”

11.05.2025 08:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@simonw.xyz is following 20 prominent accounts