Joeri Sebrechts
banner
joeri-s.mstdn.social.ap.brid.gy
Joeri Sebrechts
@joeri-s.mstdn.social.ap.brid.gy
Web enthusiast.

If it's technology, it probably interests me. If it's quirky, it probably interests me as well.

Living on the north sea coast of Belgium.

[bridged from https://mstdn.social/@joeri_s on the fediverse by https://fed.brid.gy/ ]
@jaredwhite
It is a leaky abstraction that inevitably gets people into trouble, because a usable web UI carries intrinsic state: route, focus, collapsed/expanded, cursor position, selection, scroll position, etc.

Those are also all the failure modes of “modern” web frontends, and that is not an […]
Original post on mstdn.social
mstdn.social
January 20, 2026 at 5:51 AM
@heydonworks.com
I have something like that in this repo, might be better than an explanation: https://github.com/jsebrech/sweet-suspense

That repo also handles loading errors with an error boundary. It was part of an exploration of what it would take to replace the useful bits of react with […]
Original post on mstdn.social
mstdn.social
December 29, 2025 at 5:45 PM
@heydonworks.com
I like how minimal this is. You can also move the loading logic into a lazy-load wrapping element, give it a slot for placeholder content, and then outfit it with an intersectionobserver to start loading when scrolled into view.
December 29, 2025 at 3:14 PM
@simon
Very interesting takes, but not sure I agree with the central thesis.

The Machiavellian plot to produce reverse centaurs to fuel the illusion of growth is too Bond-villainy. I don’t believe in clever people making evil plots. I believe in the banality of evil, stupid people making dumb […]
Original post on mstdn.social
mstdn.social
December 8, 2025 at 7:03 AM
@mathowie
This is because democrats and republicans play a different game. The democrats mostly think they are playing democracy, where everyone brings their viewpoint, debate happens, and a consensus is reached. The republicans meanwhile are playing culture war, where every battle must be […]
Original post on mstdn.social
mstdn.social
August 26, 2025 at 3:16 PM
Reposted by Joeri Sebrechts
Links for the image-compare component:
🔗 CodePen: codepen.io/nonsalant/pe...
🔗 GitHub repo: github.com/nonsalant/im...
Accessible <image-compare> Web Component (no Shadow DOM)
"Before/after"-style comparison slider. Keyboard accessible. Light DOM prevents CLS on Core Web Vitals and makes it easy to add styles....
codepen.io
August 4, 2025 at 2:57 PM
Reposted by Joeri Sebrechts
@sarahgarcin @julienbidoret @joeri_s @adele @lowtechmagazine @domingoclub

Link to aforementioned workshop now live folx, thanks for sharing all your work!

https://post.lurk.org/@colm/114912894425595682
Colm O'Neill (@colm@post.lurk.org)
Attached: 1 image Online #permacomputing workshop announcement: On Wednesday 6 August, join me for the final "Permacomputing for #Wilderland" workshop on making smol websites! https://remote.wilderland.ie/events/permacomputing-august-small-websites.html "From considerations of content management tools, to content export, static site generators, external resources, lightweight media and hosting methods, we'll look at tools to analyse website content (using browser inspector tools), figure out what they require (using traceroute), how to build small websites, and ideas of how to reduce the weight of existing websites." This is the last of a three-part workshop series, the first looked at small-scale power generation, the second considered how to repurpose portable devices (for web hosting and more) and this final one is about #smolweb. See you on the 6th! Please do :boost_anim_vanilla: :unwanted_happy:
post.lurk.org
July 25, 2025 at 8:48 AM
This works as well:

btn.addEventListener('click', { handleEvent: () => console.log('👍 ok') });

Classes are syntactic sugar after all...
July 22, 2025 at 12:01 PM
It is just registering an object as a listener instead of a function (and implicitly calling the object’s handleEvent). You can add any object with a handleEvent method as a listener of any event dispatcher, even if that isn’t even a DOM element (eg EventTarget). The browser’s event system is […]
Original post on mstdn.social
mstdn.social
July 22, 2025 at 10:45 AM
@stefanmatei.com Yes. It's how my tiny context protocol implementation works (attach to any dom element to listen for context-request events). https://github.com/jsebrech/tiny-context/blob/main/tiny-context.js#L28
July 22, 2025 at 10:18 AM
@stefanmatei.com Do you mean setting it on a parent or sibling element? You'd need to do it in connect / disconnect, but the syntax for add/remove is a lot shorter because there's none of that bind business.
July 22, 2025 at 9:23 AM