Sign in

Martin Grubinger

@grooovinger.com
206 followers 549 following 229 posts

Builder of web-things. I want the #web to win. Lead Frontend Developer at Geizhals Preisvergleich. DIY woodworker. #HTML – #CSS 🥰 – #JavaScript – #Svelte 🤩 grooovinger.com

PostsRepliesMedia
Reposted by Martin Grubinger
Trivikram Kamat @trivikram.bsky.social · 24/09/2026
If you maintain a @nodejs.org application that hasn't been updated for a couple of years, consider looking into replacing some userland dependencies with built-ins that are now available flaviocopes.com/node-builtins/
flaviocopes.com
Node.js built-ins that replaced npm packages
Twelve Node.js built-ins that replace axios, nodemon, dotenv, jest, chalk, glob and more, with their stability in Node 24 and one gotcha each.
0265
Reposted by Martin Grubinger
Bruce Lawson @brucel.bsky.social · 24/09/2026
There are no "rogue AIs". Just rogue AI companies. Regulate them hard.
0264
Reposted by Martin Grubinger
pngwn @pngwn.at · 22/09/2026
After about a year, on and off, I am veeeery happy to release TWINKLEPLOP, a syntax highlighter of tremendous power! The speed of prism with the customisation of Shiki. twinkleplop.pngwn.at
519233
Martin Grubinger @grooovinger.com · 22/09/2026
We just solved the gnarliest only-in-production bug since I joined Geizhals. 3+ senior engineers, 2 days. Every deployment would leave the site without CSS/JS assets! (Luckily we built an emergency tool for exactly this case in the past. Yesterday was the first time we needed this tool) Whew 😅🥵
180
Reposted by Martin Grubinger
Mastro.{js,ts} @mastrojs.bsky.social · 22/09/2026
You can sort of fake it with container style queries: e.g. codepen.io/walpolea/pen...
codepen.io
Using Style Queries as media queries with css variables
...
241
Reposted by Martin Grubinger
{🧪} +paoloricciuti.svelte @paolo.ricciuti.me · 21/09/2026
Do yourself a favour: migrate to Svelte 🧡
1272
Reposted by Martin Grubinger
Josh Collinsworth @collinsworth.dev · 21/09/2026
Hey, friends—I'm excited to share my new project! I call it Tupo. It's a daily logic puzzle with roots in sudoku, where every cell has to have a unique color-number combo. Give it a shot if you like daily logic games, and let me know what you think! playtupo.com
playtupo.com
Tupo · A daily sudoku-style logic puzzle with a twist
A simple logic puzzle of numbers and colors. One new puzzle every day, starting easy and getting harder through the week.
188519
Reposted by Martin Grubinger
Sean Lynch @techniq.dev · 15/09/2026
🎉 Introducing npmchart.com Analyze npm packages (downloads, releases), Github activity (releases, stars, commits, issues, PRs), compare packages, user pages, download or copy any charts, and more!
118320
Reposted by Martin Grubinger
Manuel Matuzović @matuzo.at · 17/09/2026
Friends, it's that time of the year: Once again, I'm asking you to help me create another amazing HTMHell Advent Calendar by writing about HTML. The CFP is open until October 3! docs.google.com/forms/d/e/1F...
docs.google.com
HTMHell Advent Calendar
Hello, my dear friends of high-quality markup! We're getting closer to the last quarter of 2026, which means that the HTMHell Advent Calendar is getting closer, too. Last year, once again, you contrib...
34936
Reposted by Martin Grubinger
Ana Rodrigues @ohhelloana.blog · 14/09/2026
you really should and I need to do it more too ohhelloana.blog/tell-the-spe...
ohhelloana.blog
Tell the speakers that you liked their talks
if you always wanted to but think it isn't worth telling a speaker you liked their talk, this is your encouragement post to do so.
27721
Reposted by Martin Grubinger
Ilja @fubits.dev · 15/09/2026
imho one of the best articles about our profession right now - no matter if you agree with the assumptions or not seldo.com/posts/we-are... Well done, @seldo.com, thanks for writing this piece.
seldo.com
We are all Product Engineers now | Seldo.com
Agents are eating the software development lifecycle from the bottom up — code generation already gone, review and ops following fast. What remains is figuring out what people actually want, which can...
3115
Reposted by Martin Grubinger
Stefan Judis @stefanjudis.com · 14/09/2026
Quick reminder, if you're working on a SaaS product that requires a login, please check if you've defined the well-known URL to change passwords. Password managers will check `/.well-known/change-password` to offer a quick way to change passwords. www.w3.org/TR/ch...
Code: GET /.well-known/change-password HTTP/1.1 Host: example.com  HTTP/1.1 302 Found Location: https://example.com/account/security/password
617918
Martin Grubinger @grooovinger.com · 14/09/2026
This is where modern #CSS really shines: anchor positioning, animating and dynamic colors with `oklch` + `color-mix`. All positioning and coloring is based on a single custom property. I'm having sooo much fun with this 😍🤩
180
Reposted by Martin Grubinger
Florian Aigner @florianaigner.at · 13/09/2026
Ich habe Pizza gemacht, und ein Foto meines Pizzasteins in ChatGPT hochgeladen. Jetzt diskutieren wir intensiv über die künstlerische, formale und politische Tragweite dieses zweifellos bedeutungsvollen Bildes, und mein Respekt für AI sinkt minütlich.
89616106
Reposted by Martin Grubinger
Bramus @bram.us · 14/09/2026
👀 Went for “rich input” … rich-input.netlify.app
rich-input.netlify.app
<rich-input> – A Rich Input Field
A rich input field with keyword-based autocomplete and in-input highlighting powered by <datalist>, OpaqueRange, and the Custom Highlight API
4263
Martin Grubinger @grooovinger.com · 14/09/2026
Me, going 220km/h on a german Autobahn, yelling: Someone please regulate this, this is too dangerous! Aside from the obvious marketing effects of anthrophics messaging, this is what it feels like to me.
110
Reposted by Martin Grubinger
Stanislav @khromov.se · 13/09/2026
Millions of eyes seeing lighting fast charts built with Svelte today, as the most popular site in Sweden (Aftonbladet) is showcasing the Swedish election results with Svelte + SvelteKit! #svelte #javascript
1376
Reposted by Martin Grubinger
Marc Thiele @marcthiele.com · 09/09/2026
If you want to follow day 2 of @smashingconf.com in Freiburg, one way is to check my photos regularly. Started to drop photos of day 2 already. And what a great start with @heydonworks.com marcthiele.com/photos/smash...
marcthiele.com
014
Reposted by Martin Grubinger
Bramus @bram.us · 11/09/2026
🤩 Safari is about to support `interactive-widget` in the viewport meta tag github.com/WebKit/stand... This allows you to control what should happen to the viewport when the virtual keyboard gets shown. developer.chrome.com/blog/viewpor... (from 2022!) has the details.
MobileMiniBrowser showing a test page set to `overlays-content`MobileMiniBrowser showing a test page set to `resizes-visual`MobileMiniBrowser showing a test page set to `resizes-content`
45013
Reposted by Martin Grubinger
Alex Andreou @sturdyalex.bsky.social · 10/09/2026
This German comedy sketch (with English subtitles) perfectly captures so much of what is going on right now in the UK, the US, and across Europe. "Playing the 'Nazi Card' in the Third Reich", by Browser Ballett.
5330021271
Reposted by Martin Grubinger
kepano @stephango.com · 10/09/2026
This is Knap. It's a new language I created that turns data into Markdown. Knap should feel familiar and comes with a wonderfully pleasant syntax to modify and format plain text.
942550
Reposted by Martin Grubinger
Paul Byrne @theplanetaryguy.com · 09/09/2026
Astrophotographer Adam (AJ) Smadi caught this image a few hours ago from Washington state. A thin crescent Moon, sunlight illuminating the rugged lunar surface. And 2,400 times farther away—and on the other side of the Sun—mighty Jupiter, and its moons Io (left) and Ganymede (right).
A crescent Moon seen during the day, arcing from upper left to lower right of the frame. At lower centre is the full disk of Jupiter; the small dots to its upper left and lower right and Io and Ganymede, respectively.
187165325075
Martin Grubinger @grooovinger.com · 10/09/2026
For years we've been respecting Do Not Track and GPC headers on Geizhals. If you have one of these headers set in your browser, we don't show a cookie banner and don't load ads or other third party stuff. It's not that hard. orf.at/stories/3441...
orf.at
Unerwartete Wende: Industrie für, NGOs gegen Cookie-Banner
Sie sind auf praktisch jeder Website zu finden und ein beliebtes Streitthema: Dienen oder verhindern Cookie-Banner Datenschutz? Ende des Vorjahres kündigte die EU jedenfalls gravierende Änderungen an,...
140
Reposted by Martin Grubinger
Tim Berners-Lee @timbl.bsky.social · 03/09/2026
This Is For Everyone is now available in paperback. You might recognise the face on the cover...a younger me at MIT in 1998 when 150 million people used the web. Today it's roughly 6 billion. Read about how the web came to be and where I think it's going ➡️ thisisforeveryone.timbl.com
The paperback cover of 'This Is For Everyone' by Tim Berners-Lee with a photo of Tim in front of a blackboard at MIT.
811327
Reposted by Martin Grubinger
ppk 🇪🇺 @quirksmode.org · 02/09/2026
Fifteen years ago I helped popularise the meta viewport width=device-width,initial-scale=1. Today I found out the second bit is no longer necessary. A retrospective. quirksmode.org/quirksblog/2...
quirksmode.org
initial-scale no longer needed
Fifteen years ago I helped popularise the meta viewport width=device-width,initial-scale=1. Today I found out the second bit is no longer necessary. A retrospective.
16021
Reposted by Martin Grubinger
Fritz Jergitsch @fritzjergitsch.at · 02/09/2026
Österreich hat eine neue Zeitung.
dietagespresse.com
Geniale Innovation – Tagespresse entdeckt Zukunft der Medien: Print
Die Zukunft des Journalismus ist ein faltbares Medium namens "Papier". Die Tagespresse bringt ab 1. Oktober eine Print-Ausgabe heraus.
36812
Reposted by Martin Grubinger
Stanislav @khromov.se · 02/09/2026
🧑‍💻 Thanks to custom renderers and GPUIX you can now try building native desktop apps with Svelte! Check out the video and repo below to get started! github.com/khromov/gpui... #svelte #javascript #native
0404
Martin Grubinger @grooovinger.com · 02/09/2026
Bei der FPÖ muss man ja eher von Schonwiederbetätigung reden.
000
Reposted by Martin Grubinger
Svelte Society @sveltesociety.dev · 02/09/2026
See you at Urška Hall, GR Ljubljana, at Dunajska cesta 18. Svelte Summit takes place there November 19–20, 2026. sveltesummit.com/#venue
052
Martin Grubinger @grooovinger.com · 29/08/2026
The "hillhouse" project is really all I want to work on these days. Coincidentally, this is all I did today. It was a good day.
Small red wooden house approx 1.5m above ground. Fresh paint. Two kids painting a wooden play house with red paint.Inside the play house. Part of the wooden flooring done. Landscape shot showing the unfinished play house and green fields behind it.
190
Reposted by Martin Grubinger
Die Tagespresse @dietagespresse.com · 27/08/2026
Kleben sich nicht an Straße fest: Innenminister gegen Identitäre machtlos dietagespresse.com/kleben-sich-...
dietagespresse.com
Kleben sich nicht an Straße fest: Innenminister gegen Identitäre machtlos
Innenminister Gerhard Karner würde gerne mit aller Härte des Staates durchgreifen. Doch ihm sind die Hände gebunden.
422553
Martin Grubinger @grooovinger.com · 27/08/2026
I just had to research how to use _the power button_ on my new phone. This is getting way out of hand. If you're in a simular situation (can't reboot your phone because of AI), here's the solution: www.youtube.com/watch?v=H9S3...
youtube.com
Google Pixel 11: How to Restart/Reboot with Power Button
YouTube video by Games & Apps Tutorials
120
Reposted by Martin Grubinger
Jake Lazaroff @jakelazaroff.com · 27/08/2026
holy shit this would be a game changer
Summary
Persistent widgets are embedded browsing contexts, like iframes, but they can persist across same-origin navigations without reloading. Persistent widgets can be used via the <persistentwidget> HTML element. The <persistentwidget> HTML element takes a src attribute, like an iframe. In order to make the <persistentwidget> survive a navigation, all of these conditions must be met: 1. The navigation must be to a same-origin document. 2. The <persistentwidget> element must have the same src and id HTML attributes in both documents. 3. The <persistentwidget> element must be attached to the new document before its first render.
55813
Reposted by Martin Grubinger
Firefox for Web Developers @webdevs.firefox.com · 25/08/2026
CSS sibling-count() and sibling-index() are newly available across engines! Here's how they work:
314925
Reposted by Martin Grubinger
Obsidian @obsidian.md · 25/08/2026
Save your data to local Markdown files you own forever, and can access completely offline. Obsidian now helps you migrate from all the major proprietary formats including Notion, Evernote, OneNote, Google Keep, Apple Notes, and more.
527545
Reposted by Martin Grubinger
Fabian Schmid @fabianschmid.bsky.social · 25/08/2026
Investigative Geschichten wie diese wären übrigens ohne unabhängige Rechercheplattformen wie @presseservice-wien.bsky.social, @stopptdierechten.at, @oera.bsky.social , @democ.de usw. usf. und Fotografen, die stundenlang draußen verharren, um Treffen zu dokumentieren, nicht möglich. 🙏
521770
Martin Grubinger @grooovinger.com · 24/08/2026
Yesterday I almost got killed because an idiot in a Ferrari thought it was a great idea to overtake an already overtaking motorcyclist (= me). I've ridden halfway around the world on this bike, but this for sure hits the Top5 of close, possibly fatal encounters.
230
Reposted by Martin Grubinger
H.P. @hannelore14089.bsky.social · 22/08/2026
„Es ist eine Illusion, dass Fotos mit der Kamera gemacht werden.. sie werden mit dem Auge, dem Herzen und dem Kopf gemacht.“ Henri Cartier-Bresson, geb. am 22. August 1908 
Man sieht Männer und Frauen auf einem Hügel sitzen, die offensichtlich eine Zwischenmahlzeit einnehmen. Unten im Wasser schwimmt ein Boot.
311322
Reposted by Martin Grubinger
Ilja @fubits.dev · 23/08/2026
Like, I’m sorry, but if you and your better half™️/significant other have a gazillion of photos and shared plans for the future - Immich is the way to go. (also it’s built with Svelte and @benmccann.com is keeping an eye on it) Just make sure you maintain a 3-2-1 backup strategy.
0121
Martin Grubinger @grooovinger.com · 21/08/2026
➰👂🍬 Rohrohrzucker(l)
000
Reposted by Martin Grubinger
Paweł Grzybek @pawelgrzybek.com · 21/08/2026
"My HTML boilerplate in 2026" by @matuzo.at www.matuzo.at/blog/2026/ht... Great example of a modern HTML starter template in modern age. I learned a lot from this. Thanks Manuel 🫶 #html
matuzo.at
My HTML boilerplate in 2026 - Manuel Matuzović
Every element I use for the basic structure of a HTML document, with explanations why.
082
Reposted by Martin Grubinger
Stefan Judis @stefanjudis.com · 20/08/2026
I'd say I was pretty aware of all the possibilities and information my browser shares about me, but it's still wild to see all this data in black and white. :/ kuber.studio/cookie
Text explaining that websites can fingerprint and identify you even after declining cookie banners because modern browsers don't need cookies anymore.
0165
Reposted by Martin Grubinger
Lukas Zahrer @zahrerlukas.bsky.social · 20/08/2026
Ich würde mir wirklich wünschen, dass dieses Interview gelesen wird. Nina Nesimović ist Kapitänin der österreichischen Volleyballerinnen, die bei der EM spielen. Sie hat mir ihren Beruf auf bemerkenswerte Weise erklärt, ich habe viel dazugelernt. @derstandard.at www.derstandard.at/story/300000...
Screenshot STANDARD-ePaper: "ZITAT DES TAGES "Das Schöne am Sport ist, dass Herkunft keine Rolle spielt.""Nina Nesimovic zwischen zwei Ballwechseln beim Abklatschen mit ihrem Team.
35920
Reposted by Martin Grubinger
Svelte Society @sveltesociety.dev · 20/08/2026
RED ALERT! Tickets ARE LIVE! 🚨 sveltesummit.com 🚨 Use code: launch-10-off to get 10% off! Promo runs until the 25th!
0129
Reposted by Martin Grubinger
Theo-Steiner @theosteiner.de · 20/08/2026
building web components with @svelte.dev is a bit of a struggle - while the compiler natively emits custom elements, building a library with it requires loads of boilerplate & a black belt in config-fu svebcomponents not only fixes this, but also gives you type-safety & server-side rendering on top!
3232
Reposted by Martin Grubinger
Svelte Society @sveltesociety.dev · 19/08/2026
🚨 ANNOUNCING: Svelte Society Merch Store! 🚨 shop.sveltesociety.dev US will have to wait for now, sorry!
653
Reposted by Martin Grubinger
Svelte Society @sveltesociety.dev · 19/08/2026
Svelte Summit Tickets Going live later today. Are you excited?! WE ARE!
2228
Reposted by Martin Grubinger
Bramus @bram.us · 18/08/2026
New blog post: The Case for Tri-State Dark Mode Toggles brm.us/dark-mode-tr... #CSS #DarkMode #UX
brm.us
The Case for Tri-State Dark Mode Toggles
Adding a Dark Mode toggle to your website is a nice touch that many users appreciate. When implementing one, the default instinct for many developers is to reach for a simple binary switch: Light on o...
128714
Martin Grubinger @grooovinger.com · 17/08/2026
Hooray, rain! ⛈️🌧️
010
Reposted by Martin Grubinger
Cleanthinking.de - Sauber in die Zukunft @cleanthinking.wsocial.eu · 14/08/2026
Der Basiseffekt der Erderhitzung wurde schon 1912 verstanden, wie das Bild zeigt, dass Gavin Mooney heute gepostet hat. Glückwunsch an die Menschheit für ein Jahrhundert Ignoranz.
461027382