Martin Grubinger
grooovinger.bsky.social
Martin Grubinger
@grooovinger.bsky.social
Builder of web-things. I want the #web to win.
Lead Frontend Developer at Geizhals Preisvergleich.
DIY woodworker.
#HTML – #CSS 🥰 – #JavaScript – #Svelte 🤩
https://grooovinger.com
Pinned
👋
Reposted by Martin Grubinger
„Remote Control“ - @rich-harris.dev‘ ViteConf 2025 talk is now available on YouTube www.youtube.com/watch?app=de...
Rich Harris | Remote Control | ViteConf 2025
YouTube video by ViteConf
www.youtube.com
November 11, 2025 at 8:29 AM
Reposted by Martin Grubinger
Rad dithering breakdown / interactive learning experience

visualrambling.space/dithering-pa...
Dithering - Part 1
Understanding how dithering works, visually.
visualrambling.space
November 8, 2025 at 7:41 AM
Reposted by Martin Grubinger
Hallo @neos.eu, @spoe.at und lieber Medienminister @andibabler.at

Medien in Österreich bauen sich auf Steuerkosten KI-basierte Systeme, mit denen dann Inhalte generiert werden. Soll sein.

Dann sollen sie aber auch verpflichtet sein, diesen KI-Einsatz ausweisen zu müssen.
Neue Daten und Charts von @schenior.bsky.social (PhD, folgen!) und mir.

OE24, Express, Heute, Krone und @falter.at : wer verwendet LLMs wie ChatGPT? Evtl. gefördert durch Steuermittel?

The answer may surprise you.

www.youtube.com/watch?v=Gy8X...
November 7, 2025 at 10:07 PM
What do you call those full-page interstitials on news websites that pop up once you hit the back button on mobiles? "Backstitials"?
Either way, I have never clicked on one, and do not intend to ever do so. Why do they think they work? Simply annoying – leave my back button alone, plz.
November 7, 2025 at 2:38 PM
Reposted by Martin Grubinger
my introductory article to DragonRuby on the AppSignal blog is out: blog.appsignal.com/2025/11/05/a... 🎉
An Introduction to Game Development with DragonRuby | AppSignal Blog
We'll cover the basics of game development with DragonRuby in the first part of this two-part series.
blog.appsignal.com
November 6, 2025 at 12:02 PM
Reposted by Martin Grubinger
Last year we wrote an article on all the ways position:sticky can fail and to this day it remains in the top 10 of weekly most visited pages.

Getting stuck with sticky? This is the post for you.

polypane.app/blog/getting...
Getting stuck: all the ways position:sticky can fail | Polypane
CSS's position: sticky is a dream come true for web developers. It allows elements to switch between relative and fixed positioning based on the scroll…
polypane.app
November 6, 2025 at 8:56 AM
Is there something similar to who-to-bother-at.com/coolify but for .. you know .. _not shit_ social platforms? (I'm thinking mastodon and bluesky)
who to bother at Coolify on X
Find the right people to reach out to at Coolify on X (Twitter). An open-source, self-hostable PaaS alternative to Vercel, Heroku and Netlify that lets you easily deploy static sites, databases, web a...
who-to-bother-at.com
November 6, 2025 at 11:30 AM
massive FOMO for all the @beyondtellerrand.com posts today.
if you're there – enjoy the conference!
November 6, 2025 at 11:28 AM
Reposted by Martin Grubinger
Harmonizer, an accessible color palette generator by Evil Martians. A Figma plugin and web app that use OKLCH with WCAG or APCA formulas to keep colors perceptually consistent across hues and themes. #design #a11y

harmonizer.evilmartians.com
November 5, 2025 at 10:18 AM
Reposted by Martin Grubinger
ECMAScript excitement 😉

Congrats to @manishearth.bsky.social on unflagging TC39 Stage 3 Temporal in V8 today. Heading for Chrome 144 🎉

By many metrics this new date-time API is the single biggest change to JS ever 🔥

V8 uses Boa's temporal_rs by @jason-williams.co.uk Kevin Ness & Manish 👍
November 4, 2025 at 7:49 PM
You don't mess with the Zohran.
November 5, 2025 at 7:11 AM
Reposted by Martin Grubinger
This is quite a banger feature for web perf engineers. In Chrome Canary, you can now turn on an experimental feature to throttle single requests!

chrome://flags/#devtools-individual-request-throttling

This is golden to check the performance impact of a delayed resource. 👏
November 4, 2025 at 3:13 PM
Otherworldly mood in my office today.
A large flock of migratory birds fly in huge V shapes in front of the open window, while making a ton of noise. Dune soundtrack blaring from speakers. Pretty awesome.
November 4, 2025 at 11:24 AM
Reposted by Martin Grubinger
829.000 Euro Förderung für Qualitätsjournalismus bei "Österreich", allein bis August.

Nur zur Einordnung, um wieviel Steuergeld wir hier sprechen:

Wir hatten monatelange Diskussionen wegen 9.000 Euro/Monat für Familie mit 11 Kindern in Mindestsicherung.
Weil es eh schon egal ist lassen wir den Hinweis auf ChatGPT einfach drin.
November 1, 2025 at 5:45 PM
Reposted by Martin Grubinger
Erste Ergebnisse meines "Wieviel LLM steckt in österreichischen Tagesmedien" Projekts.

- Scrape alle Artikel Oktober 2015 und 2025
- Zähle em- und en-dashes (Dank an @katharinaost.bsky.social), LLMs lieben die

2015 vs 2025

Prozentsatz der Artikel pro Kategorie mit min. 1 em/en-dash.

Merkt ihr?
November 1, 2025 at 6:32 PM
Reposted by Martin Grubinger
In my opinion, any SWE writing client-side JavaScript has a responsibility to understand the Event Loop.

@jakearchibald.com’s ‘In The Loop’ talk is required watching: www.youtube.com/watch?v=cCOL...

(cited by @andydavies.me at #perfnow)
October 31, 2025 at 9:24 AM
Reposted by Martin Grubinger
I co-wrote a post on the Etsy engineering blog about implementing Speculation Rules API (SRA) to prefetch product listing pages from search results. And many thanks to @tunetheweb.com and @cdaveross.bsky.social for the help and support!
www.etsy.com/codeascraft/...
www.etsy.com
October 29, 2025 at 5:37 PM
Reposted by Martin Grubinger
WE HAVE A WINNER! 🏆

Huge congratulations to @dalya.dev for creating the The Perfect Date Picker who takes home the shit trophy and a copy of @kevinpowell.co's CSS Demystified course!

perfectdate.relevant.space
The Perfect Date Picker
perfectdate.relevant.space
October 29, 2025 at 4:05 PM
Reposted by Martin Grubinger
today we landed a @svelte.dev feature i'm pretty stoked about — we call it 'forking', and it lets you run state changes offscreen and later choose whether to commit them (e.g. user hovers on a link, preload data in case they click)

- docs svelte.dev/docs/svelte/...
- demo svelte.dev/playground/a...
forking monkeys • Playground • Svelte
Web development for the rest of us
svelte.dev
October 25, 2025 at 7:11 PM
Reposted by Martin Grubinger
October 27, 2025 at 5:53 PM
Reposted by Martin Grubinger
apple-style disclosure w/ CSS details + summary 👨‍🍳

::details-content {
interpolate-size: allow-keywords;
transition: content-visibility, height;
transition-behavior: allow-discrete;
}
[open]::details-content { height: fit-content; }

CSS :has() handling the image swaps 🤙
October 22, 2025 at 9:45 AM
Reposted by Martin Grubinger
if you're ever confused about the origin of a state change in your @svelte.dev app, we just shipped a nice quality of life enhancement to the `$inspect(...)` rune (svelte.dev/docs/svelte/...) — it now automatically prints a stack trace. @pngwn.at goaded me into it
October 22, 2025 at 2:37 PM
Reposted by Martin Grubinger
Videos from all talks 2025 are now available in our YouTube channel! Like & subscribe 🥰

www.youtube.com/playlist?lis...
October 16, 2025 at 7:44 AM
Reposted by Martin Grubinger
Node.js 25 is here! We have upgraded V8 to 14.1, bringing major JSON.stringify
performance improvements and JIT pipeline optimizations.

This release introduces the permission
model --allow-net, Web Storage is enabled by default, and more!

nodejs.org/en/blog/rele...
Node.js
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
nodejs.org
October 15, 2025 at 5:22 PM
Reposted by Martin Grubinger
Dream job alert in eigener Sache! 👇

jobs.spiegelgruppe.de/Vacancies/12...
Entwickler (m/w/d) Datenvisualisierung - Ausschreibung
jobs.spiegelgruppe.de
October 14, 2025 at 6:44 PM