PSA:
If you ever want to test out your brand new smoke machine and DMX to USB convertor by using WebUSB from the browser. Just do it outside. Trust me.
CTO of Salonhub. Creator of https://html5test.com, writes at https://nielsleenheer.com, team @FronteersConf, Google Developers Expert, Invite me to speak at your event.
PSA:
If you ever want to test out your brand new smoke machine and DMX to USB convertor by using WebUSB from the browser. Just do it outside. Trust me.
Conference day 4…
Did I have regrets the morning after the #btconf afterparty? Yes, yes I did.
Did I learn anything from that experience?
No, it appears that I did not.
Great talk by @sitnik_en about the GDPR and privacy at #sveltesummit. Dropping facts.
We all hate cookie banners. But it isn’t the GDPR forcing it on us. It is devs deciding tracking is more important than user experience. It is *us* making the web worse.
The flight from Tromsø back to Amsterdam diverted to another airport due to bad weather. ❄️
At least I have plenty of time to do some photo editing 😅
Back in Tromsø for the Northern Lights. Can’t believe my luck that I managed to catch a shooting star. 💫
Enjoying the wildlife at Schiphol airport.
@Kilian I used the SVG preview extension for a live split view preview. Worked perfectly.
But that is now overridden but the default SVG preview.
Worst thing, apparently there is no way to disable this behaviour by default and it breaks all SVG preview extensions that do open a preview in a sidebar.
VS Code now previews SVG files by default instead of showing the code editor...
How... What... Why...?
I want my code editor to show me my SVG code...
A preview is nice as a sidebar, but not as a replacement for the editor, and certainly not without an easy way to switch between the two.
After a fantastic #HalfStack conference yesterday it is now time to leave Phoenix and head to Las Vegas for the next two days. ✨
This evening I am dealing with two of the most complicated issues a web developer can face.
Debugging why getBoundingClientRect() returns a rect with all 0's from an event handler, while it returns a normal rect from the console.
And... getting Adobe to cancel a Creative Cloud license.
Just 9 more days until HalfStack Phoenix! I’ll give a talk about one of the core principles of the web: Resilience.
A deep dive in HTML with an important message: You are allowed to experiment. Make mistakes. The web is for everybody.
If you’re at a rally and someone is on stage giving Nazi salutes and nobody yanks that person off stage, then you are at a Nazi rally.
Ring ring….
Hi this is PayPal. Can you tell us the e-mailaddress of your account for verification.
Me: Eh. No. I don’t think I will.
PayPal: This is for security purposes. To verify we’re speaking with the correct person…
Me: Yeah, no I can’t tell you… for security purposes.
PayPal: Oh.
To be fair. It was PayPal. I knew it was PayPal. But come on, cold calling and asking for account details over the phone…
It’s Chromium only, so you need a WASM based fallback for other browsers.
But surprisingly it also does not work in Electron - which is Chromium. The API is there and “functional”, but it just doesn’t detect anything.
Perhaps it uses some proprietary Google code that does not ship in Electron.
The BarcodeDetector API is a very useful addition for our app. You can basically turn every webcam into a barcode scanner.
I made this library based on it:
https://github.com/NielsLeenheer/WebcamBarcodeScanner
Try it here:
https://point-of-sale.dev/barcode-scanner/playground/
@tomayac The same Node api is also exposed in Electron. But I think because of the integration with Chromium there are some very subtle differences.
Spend an hour debugging printing to a network receipt printer from Electron. Same code worked just fine in Node itself.
Turns out the fix was adding a delay between the socket.write() call and socket.destroy() call.
So this is how I spend most of my free time yesterday.