Niels Leenheer
@html5test.com
CTO of Salonhub. Creator of http://html5test.com, writes at http://nielsleenheer.com, team @FronteersConf, Google Developers Expert, Invite me to speak at your event.
Just got home. First thing my 11-year old said to me: Dad, did you buy a flamethrower…?
Eh. Yes. Yes, I did. 🔥
Eh. Yes. Yes, I did. 🔥
November 8, 2025 at 3:31 PM
Just got home. First thing my 11-year old said to me: Dad, did you buy a flamethrower…?
Eh. Yes. Yes, I did. 🔥
Eh. Yes. Yes, I did. 🔥
Almost home again after a couple of amazing days at @beyondtellerrand.com. Thank you so much @marcthiele.com!
It was so lovely seeing everybody again. After spending a couple hours at home I am off again to London for @halfstackconf.bsky.social and then straight to Warsaw for DevFest.
It was so lovely seeing everybody again. After spending a couple hours at home I am off again to London for @halfstackconf.bsky.social and then straight to Warsaw for DevFest.
November 8, 2025 at 1:58 PM
Almost home again after a couple of amazing days at @beyondtellerrand.com. Thank you so much @marcthiele.com!
It was so lovely seeing everybody again. After spending a couple hours at home I am off again to London for @halfstackconf.bsky.social and then straight to Warsaw for DevFest.
It was so lovely seeing everybody again. After spending a couple hours at home I am off again to London for @halfstackconf.bsky.social and then straight to Warsaw for DevFest.
@nerdy.dev This is happening. MIDI → CSS → DMX → 🔥
November 8, 2025 at 10:03 AM
@nerdy.dev This is happening. MIDI → CSS → DMX → 🔥
Reposted by Niels Leenheer
#js developers 📣! There's still time to sign up for @halfstackconf.bsky.social London on Wed 12th November. There's some great talks on the list, including myself talking about #vectorsearch.
Here's my 10% off code if you still haven't got your 🎫 (😱):
ti.to/halfstack/ha...
See you there! 👋
Here's my 10% off code if you still haven't got your 🎫 (😱):
ti.to/halfstack/ha...
See you there! 👋
November 5, 2025 at 12:31 PM
#js developers 📣! There's still time to sign up for @halfstackconf.bsky.social London on Wed 12th November. There's some great talks on the list, including myself talking about #vectorsearch.
Here's my 10% off code if you still haven't got your 🎫 (😱):
ti.to/halfstack/ha...
See you there! 👋
Here's my 10% off code if you still haven't got your 🎫 (😱):
ti.to/halfstack/ha...
See you there! 👋
Looking for some random thing on AliExpress when suddenly… Hey! I could use a flame thrower! It would be fun to connect it to the web and…
November 5, 2025 at 10:02 AM
Looking for some random thing on AliExpress when suddenly… Hey! I could use a flame thrower! It would be fun to connect it to the web and…
I guess Deutsche Bahn is going to Deutsche Bahn. Good decision to travel the day before. I will be late, but I’ll get to Berlin.
Lessons learned from last year visiting @beyondtellerrand.com where I missed the first two talks and got stranded in the middle of the night on my way back home.
Lessons learned from last year visiting @beyondtellerrand.com where I missed the first two talks and got stranded in the middle of the night on my way back home.
November 5, 2025 at 9:50 AM
I guess Deutsche Bahn is going to Deutsche Bahn. Good decision to travel the day before. I will be late, but I’ll get to Berlin.
Lessons learned from last year visiting @beyondtellerrand.com where I missed the first two talks and got stranded in the middle of the night on my way back home.
Lessons learned from last year visiting @beyondtellerrand.com where I missed the first two talks and got stranded in the middle of the night on my way back home.
And from London to Warsaw where I will join DevFest Warsaw and give a talk about Project Fugu.
I will show how my company build a completely browser based cash register application that is using WebUSB, WebHID, WebSerial for talking to point of sale devices.
🎟️ sites.google.com/view/devfest...
I will show how my company build a completely browser based cash register application that is using WebUSB, WebHID, WebSerial for talking to point of sale devices.
🎟️ sites.google.com/view/devfest...
November 4, 2025 at 1:43 PM
And from London to Warsaw where I will join DevFest Warsaw and give a talk about Project Fugu.
I will show how my company build a completely browser based cash register application that is using WebUSB, WebHID, WebSerial for talking to point of sale devices.
🎟️ sites.google.com/view/devfest...
I will show how my company build a completely browser based cash register application that is using WebUSB, WebHID, WebSerial for talking to point of sale devices.
🎟️ sites.google.com/view/devfest...
And from Berlin straight to London for HalfStack where I will be giving a new talk about Baseline.
I'll be talking about the issues that web developers have keeping up with the ever expanding web platform and how to deal with browser compatibility and interoperability.
🎟️ halfstackconf.com/london
I'll be talking about the issues that web developers have keeping up with the ever expanding web platform and how to deal with browser compatibility and interoperability.
🎟️ halfstackconf.com/london
HalfStack | London
halfstackconf.com
November 4, 2025 at 1:38 PM
And from Berlin straight to London for HalfStack where I will be giving a new talk about Baseline.
I'll be talking about the issues that web developers have keeping up with the ever expanding web platform and how to deal with browser compatibility and interoperability.
🎟️ halfstackconf.com/london
I'll be talking about the issues that web developers have keeping up with the ever expanding web platform and how to deal with browser compatibility and interoperability.
🎟️ halfstackconf.com/london
Going to be a busy two weeks!
Traveling to Berlin tomorrow for Beyond Tellerrand @beyondtellerrand.com. I've been looking forward to this for at least since the Dusseldorf edition this spring. Can't wait!
I see there are still tickets available, so join us!
🎟️ beyondtellerrand.com/events/berli...
Traveling to Berlin tomorrow for Beyond Tellerrand @beyondtellerrand.com. I've been looking forward to this for at least since the Dusseldorf edition this spring. Can't wait!
I see there are still tickets available, so join us!
🎟️ beyondtellerrand.com/events/berli...
Tickets for beyond tellerrand in Berlin 2025
beyond tellerrand is the affordable single-track event where creativity and technology meet. Taking place in Düsseldorf and Berlin these days with 500+ attendees each in a renowned, familiar and frien...
beyondtellerrand.com
November 4, 2025 at 1:35 PM
Going to be a busy two weeks!
Traveling to Berlin tomorrow for Beyond Tellerrand @beyondtellerrand.com. I've been looking forward to this for at least since the Dusseldorf edition this spring. Can't wait!
I see there are still tickets available, so join us!
🎟️ beyondtellerrand.com/events/berli...
Traveling to Berlin tomorrow for Beyond Tellerrand @beyondtellerrand.com. I've been looking forward to this for at least since the Dusseldorf edition this spring. Can't wait!
I see there are still tickets available, so join us!
🎟️ beyondtellerrand.com/events/berli...
Reposted by Niels Leenheer
𝟏𝟐 𝐝𝐚𝐲𝐬 𝐥𝐞𝐟𝐭 𝐮𝐧𝐭𝐢𝐥 𝟏𝟐 𝐍𝐨𝐯𝐞𝐦𝐛𝐞𝐫ⵑ
Be part of the final HalfStack London, a full day of creative web explorations, live demos, music, quizzes, and karaoke! 🎉
📅 12 Nov 2025 | 93 Feet East, Shoreditch
👉 halfstackconf.com/london
#HalfStack #HalfStackLondon
Be part of the final HalfStack London, a full day of creative web explorations, live demos, music, quizzes, and karaoke! 🎉
📅 12 Nov 2025 | 93 Feet East, Shoreditch
👉 halfstackconf.com/london
#HalfStack #HalfStackLondon
October 31, 2025 at 6:22 PM
𝟏𝟐 𝐝𝐚𝐲𝐬 𝐥𝐞𝐟𝐭 𝐮𝐧𝐭𝐢𝐥 𝟏𝟐 𝐍𝐨𝐯𝐞𝐦𝐛𝐞𝐫ⵑ
Be part of the final HalfStack London, a full day of creative web explorations, live demos, music, quizzes, and karaoke! 🎉
📅 12 Nov 2025 | 93 Feet East, Shoreditch
👉 halfstackconf.com/london
#HalfStack #HalfStackLondon
Be part of the final HalfStack London, a full day of creative web explorations, live demos, music, quizzes, and karaoke! 🎉
📅 12 Nov 2025 | 93 Feet East, Shoreditch
👉 halfstackconf.com/london
#HalfStack #HalfStackLondon
If you find yourself wondering if you really need four oscilloscopes... then it is already too late and you might as well buy that fifth one.
Okay, two of them are in working condition. Barely. One is at the repair shop for a blown capacitor. One worked for 5 minutes.
So yes. I do need one more.
Okay, two of them are in working condition. Barely. One is at the repair shop for a blown capacitor. One worked for 5 minutes.
So yes. I do need one more.
October 30, 2025 at 6:38 PM
If you find yourself wondering if you really need four oscilloscopes... then it is already too late and you might as well buy that fifth one.
Okay, two of them are in working condition. Barely. One is at the repair shop for a blown capacitor. One worked for 5 minutes.
So yes. I do need one more.
Okay, two of them are in working condition. Barely. One is at the repair shop for a blown capacitor. One worked for 5 minutes.
So yes. I do need one more.
Reposted by Niels Leenheer
🔥 Hot off the press 🔥
You can you can finally style anchored elements based on their fallback position in CSS!
Meet the CSS anchored container query 🤝
container-type: anchored
@container anchored(fallback:)
(landing in Chrome 143)
developer.chrome.com/blog/anchore...
You can you can finally style anchored elements based on their fallback position in CSS!
Meet the CSS anchored container query 🤝
container-type: anchored
@container anchored(fallback:
(landing in Chrome 143)
developer.chrome.com/blog/anchore...
Detect fallback positions with anchored container queries from Chrome 143 | Blog | Chrome for Developers
Detect fallback positions with anchored container queries from Chrome 143
developer.chrome.com
October 30, 2025 at 1:39 PM
🔥 Hot off the press 🔥
You can you can finally style anchored elements based on their fallback position in CSS!
Meet the CSS anchored container query 🤝
container-type: anchored
@container anchored(fallback:)
(landing in Chrome 143)
developer.chrome.com/blog/anchore...
You can you can finally style anchored elements based on their fallback position in CSS!
Meet the CSS anchored container query 🤝
container-type: anchored
@container anchored(fallback:
(landing in Chrome 143)
developer.chrome.com/blog/anchore...
Only two more weeks until it is time for HalfStack London. Attending HalfStack is always a treat with great talks, fun people and good pizza.
I'll be speaking again this year about Baseline and how we can make informed choices about browser support in 2025.
🎟️ halfstackconf.com/london
I'll be speaking again this year about Baseline and how we can make informed choices about browser support in 2025.
🎟️ halfstackconf.com/london
October 29, 2025 at 11:08 AM
Only two more weeks until it is time for HalfStack London. Attending HalfStack is always a treat with great talks, fun people and good pizza.
I'll be speaking again this year about Baseline and how we can make informed choices about browser support in 2025.
🎟️ halfstackconf.com/london
I'll be speaking again this year about Baseline and how we can make informed choices about browser support in 2025.
🎟️ halfstackconf.com/london
Reposted by Niels Leenheer
𝐇𝐚𝐥𝐟𝐒𝐭𝐚𝐜𝐤 𝐋𝐨𝐧𝐝𝐨𝐧:
The fun, creative side of web development. 🎉
📅 12 Nov 2025 | 93 Feet East, Shoreditch
🎟️ halfstackconf.com/london
#HalfStack #HalfStackLondon
The fun, creative side of web development. 🎉
📅 12 Nov 2025 | 93 Feet East, Shoreditch
🎟️ halfstackconf.com/london
#HalfStack #HalfStackLondon
October 27, 2025 at 10:36 AM
𝐇𝐚𝐥𝐟𝐒𝐭𝐚𝐜𝐤 𝐋𝐨𝐧𝐝𝐨𝐧:
The fun, creative side of web development. 🎉
📅 12 Nov 2025 | 93 Feet East, Shoreditch
🎟️ halfstackconf.com/london
#HalfStack #HalfStackLondon
The fun, creative side of web development. 🎉
📅 12 Nov 2025 | 93 Feet East, Shoreditch
🎟️ halfstackconf.com/london
#HalfStack #HalfStackLondon
Reposted by Niels Leenheer
Welcome to a new week. I‘ll send the badges to the printer today. If you want your name to be printed, get your ticket for #btconf Berlin until noon. beyondtellerrand.com/events/berli...
beyond tellerrand - An event about the Web, design and technology
beyond tellerrand is the affordable single-track event where creativity and technology meet. Taking place in Düsseldorf and Berlin these days with 500+ attendees each in a renowned, familiar and frien...
beyondtellerrand.com
October 27, 2025 at 7:17 AM
Welcome to a new week. I‘ll send the badges to the printer today. If you want your name to be printed, get your ticket for #btconf Berlin until noon. beyondtellerrand.com/events/berli...
I can’t believe how much work I can do while procrastinating. It’s not the work I was supposed to do but this weekend has been so much fun.
And that talk I haven’t written yet… and have to present in two weeks time… that is going to be fine. I can do that later. Yeah.
And that talk I haven’t written yet… and have to present in two weeks time… that is going to be fine. I can do that later. Yeah.
October 27, 2025 at 9:26 AM
I can’t believe how much work I can do while procrastinating. It’s not the work I was supposed to do but this weekend has been so much fun.
And that talk I haven’t written yet… and have to present in two weeks time… that is going to be fine. I can do that later. Yeah.
And that talk I haven’t written yet… and have to present in two weeks time… that is going to be fine. I can do that later. Yeah.
Another new experiment: a clock.
A great clock because it doesn't care how you hold it. It levels itself.
A bad clock, because it breaks easily. Shake it and the hands will drop down by gravity.
The best part... you can set the time by just moving the hands and give them a little sweep.
A great clock because it doesn't care how you hold it. It levels itself.
A bad clock, because it breaks easily. Shake it and the hands will drop down by gravity.
The best part... you can set the time by just moving the hands and give them a little sweep.
October 27, 2025 at 8:47 AM
Another new experiment: a clock.
A great clock because it doesn't care how you hold it. It levels itself.
A bad clock, because it breaks easily. Shake it and the hands will drop down by gravity.
The best part... you can set the time by just moving the hands and give them a little sweep.
A great clock because it doesn't care how you hold it. It levels itself.
A bad clock, because it breaks easily. Shake it and the hands will drop down by gravity.
The best part... you can set the time by just moving the hands and give them a little sweep.
New scope! Well… it’s an old scope and it is in pretty terrible state. But at least it is working. Hasn’t blown a capacitor yet.
And look! SVG paths!
The principles are actually really simple. I’ll do a write up at a later moment.
And look! SVG paths!
The principles are actually really simple. I’ll do a write up at a later moment.
October 26, 2025 at 10:04 PM
New scope! Well… it’s an old scope and it is in pretty terrible state. But at least it is working. Hasn’t blown a capacitor yet.
And look! SVG paths!
The principles are actually really simple. I’ll do a write up at a later moment.
And look! SVG paths!
The principles are actually really simple. I’ll do a write up at a later moment.
And the oscilloscope just went up in smoke 💨
A crackling sound. A huge puff of white smoke. Scrambling to find the power cable and just caught the last bit on camera. One might think we have a new pope.
A crackling sound. A huge puff of white smoke. Scrambling to find the power cable and just caught the last bit on camera. One might think we have a new pope.
October 25, 2025 at 6:42 PM
And the oscilloscope just went up in smoke 💨
A crackling sound. A huge puff of white smoke. Scrambling to find the power cable and just caught the last bit on camera. One might think we have a new pope.
A crackling sound. A huge puff of white smoke. Scrambling to find the power cable and just caught the last bit on camera. One might think we have a new pope.
I bought an old, second hand oscilloscope and made something cool.
I’m using WebAudio to send separate signals to the left and right channel. Feed those into the BNC inputs of the oscilloscope. Plot it on the X and Y axis. And you can make arbitrary line drawings.
I’m using WebAudio to send separate signals to the left and right channel. Feed those into the BNC inputs of the oscilloscope. Plot it on the X and Y axis. And you can make arbitrary line drawings.
October 25, 2025 at 3:49 PM
I bought an old, second hand oscilloscope and made something cool.
I’m using WebAudio to send separate signals to the left and right channel. Feed those into the BNC inputs of the oscilloscope. Plot it on the X and Y axis. And you can make arbitrary line drawings.
I’m using WebAudio to send separate signals to the left and right channel. Feed those into the BNC inputs of the oscilloscope. Plot it on the X and Y axis. And you can make arbitrary line drawings.
Reposted by Niels Leenheer
Apple has relented. The latest iOS 26 Beta includes a toggle for "Liquid Glass," its magical new design language that puts fashion ahead of function at every turn.
Soon users will be able to disable most of that accessibility nightmare with a frosted glass alternative that's far less terrible.
Soon users will be able to disable most of that accessibility nightmare with a frosted glass alternative that's far less terrible.
iOS 26.1 Beta 4 Lets Users Control Liquid Glass Transparency with New Toggle
With the fourth betas of iOS 26.1, iPadOS 26.1, and macOS 26.1, Apple has introduced a new setting that's designed to allow users to customize...
www.macrumors.com
October 20, 2025 at 7:43 PM
Apple has relented. The latest iOS 26 Beta includes a toggle for "Liquid Glass," its magical new design language that puts fashion ahead of function at every turn.
Soon users will be able to disable most of that accessibility nightmare with a frosted glass alternative that's far less terrible.
Soon users will be able to disable most of that accessibility nightmare with a frosted glass alternative that's far less terrible.
Reposted by Niels Leenheer
@html5test.com is back at HalfStack London! ✨
With Baseline 2025, Niels will explore which web features are safe to use today and how to stay modern without breaking browser support. 💻
📅 12 Nov 2025 — 93 Feet East, Shoreditch
🎟️ halfstackconf.com/london
#HalfStack #HalfStackLondon #WebDevelopment
With Baseline 2025, Niels will explore which web features are safe to use today and how to stay modern without breaking browser support. 💻
📅 12 Nov 2025 — 93 Feet East, Shoreditch
🎟️ halfstackconf.com/london
#HalfStack #HalfStackLondon #WebDevelopment
October 19, 2025 at 1:52 PM
@html5test.com is back at HalfStack London! ✨
With Baseline 2025, Niels will explore which web features are safe to use today and how to stay modern without breaking browser support. 💻
📅 12 Nov 2025 — 93 Feet East, Shoreditch
🎟️ halfstackconf.com/london
#HalfStack #HalfStackLondon #WebDevelopment
With Baseline 2025, Niels will explore which web features are safe to use today and how to stay modern without breaking browser support. 💻
📅 12 Nov 2025 — 93 Feet East, Shoreditch
🎟️ halfstackconf.com/london
#HalfStack #HalfStackLondon #WebDevelopment
Claude just suggested this to prevent XSS:
$name = strip_tags($firstname) . ' ' . strip_tags($lastname);
This is going to be a rough couple of years.
$name = strip_tags($firstname) . ' ' . strip_tags($lastname);
This is going to be a rough couple of years.
October 16, 2025 at 6:20 PM
Claude just suggested this to prevent XSS:
$name = strip_tags($firstname) . ' ' . strip_tags($lastname);
This is going to be a rough couple of years.
$name = strip_tags($firstname) . ' ' . strip_tags($lastname);
This is going to be a rough couple of years.
It was my intention to not give any talks this fall… but somehow I failed miserably. Last week I had zero talks planned. Now it looks like it is going to be FOUR in November alone. Oh, and I promised to write a completely new talk 😅
October 14, 2025 at 1:32 PM
It was my intention to not give any talks this fall… but somehow I failed miserably. Last week I had zero talks planned. Now it looks like it is going to be FOUR in November alone. Oh, and I promised to write a completely new talk 😅
Reposted by Niels Leenheer
It's also easy to debug using @developer.chrome.com
It shows you which fallback position is used by crossing out all the others. When all of them are crossed out, the position defined on the element is the one used.
It shows you which fallback position is used by crossing out all the others. When all of them are crossed out, the position defined on the element is the one used.
October 14, 2025 at 9:55 AM
It's also easy to debug using @developer.chrome.com
It shows you which fallback position is used by crossing out all the others. When all of them are crossed out, the position defined on the element is the one used.
It shows you which fallback position is used by crossing out all the others. When all of them are crossed out, the position defined on the element is the one used.