41554 blogs · [ { "id": "01a087af-cda0-7267-80b5-852a1612b28c", "title": "CSS is DOOMed", "url": "https://nielsleenheer.com/articles/2026/css-is-doomed-rendering-doom-in-3d-with-css/", "published_at": "2026-03-27T14:43:24+00:00" }, { "id": "01a087af-cda0-7267-80b5-852a163646aa", "title": "Making a low-budget conference look high-budget using an ATEM video mixer and a long USB cable", "url": "https://nielsleenheer.com/articles/2025/making-a-low-budget-conference-look-high-budget-using-an-atem-video-mixer-and-a-long-usb-cable/", "published_at": "2025-10-05T10:22:55+00:00" }, { "id": "01a087af-cda0-7267-80b5-852a172ddfc8", "title": "The User-Agent string of Safari on iOS 26 and macOS 26", "url": "https://nielsleenheer.com/articles/2025/the-user-agent-string-of-safari-on-ios-26-and-macos-26/", "published_at": "2025-09-05T12:13:30+00:00" }, { "id": "01a087af-cda0-7267-80b5-852a181cd99e", "title": "Receipt Printers 101", "url": "https://nielsleenheer.com/articles/2024/receipt-printers-101/", "published_at": "2024-08-20T20:15:01+00:00" }, { "id": "01a087af-cda0-7267-80b5-852a188903d8", "title": "Should we rely on browser detection?", "url": "https://nielsleenheer.com/articles/2024/should-we-rely-on-browser-detection/", "published_at": "2024-05-01T19:45:27+00:00" }, { "id": "01a087af-cda0-7267-80b5-852a1965f539", "title": "The User-Agent Client Hints API", "url": "https://nielsleenheer.com/articles/2024/the-user-agent-client-hints-api/", "published_at": "2024-04-30T13:03:30+00:00" }, { "id": "01a087af-cda0-7267-80b5-852a19968c6d", "title": "User-Agent reduction", "url": "https://nielsleenheer.com/articles/2024/user-agent-reduction/", "published_at": "2024-04-28T18:38:29+00:00" }, { "id": "01a087af-cda0-7267-80b5-852a1a2b0dd6", "title": "Trouble happens when you update a version number", "url": "https://nielsleenheer.com/articles/2024/trouble-happens-when-you-update-a-version-number/", "published_at": "2024-04-28T08:13:14+00:00" }, { "id": "01a087af-cda0-7267-80b5-852a1ace865e", "title": "A chapter of unnecessary detail", "url": "https://nielsleenheer.com/articles/2024/a-chapter-of-unnecessary-detail/", "published_at": "2024-04-27T16:30:46+00:00" }, { "id": "01a087af-cda0-7267-80b5-852a1b75a3c5", "title": "A brief history of the User-Agent string", "url": "https://nielsleenheer.com/articles/2024/a-brief-history-of-the-user-agent-string/", "published_at": "2024-04-27T16:28:07+00:00" }, { "id": "01a0bdc5-8473-7264-b685-eb25571d734a", "title": "The problem with User-Agent strings", "url": "https://nielsleenheer.com/articles/2024/the-problem-with-user-agent-strings/", "published_at": "2024-04-27T16:25:29+00:00" }, { "id": "01a0bdc5-8473-7264-b685-eb25576f6c76", "title": "Red flag: Speakers having to cover their own travel", "url": "https://nielsleenheer.com/articles/2022/red-flag-speakers-having-to-cover-their-own-travel/", "published_at": "2022-11-20T12:15:41+00:00" }, { "id": "01a0bdc5-8473-7264-b685-eb2557b71f00", "title": "Using the Apple Studio Display on a Windows machine", "url": "https://nielsleenheer.com/articles/2022/using-the-apple-studio-display-on-a-windows-machine/", "published_at": "2022-03-21T11:56:13+00:00" }, { "id": "01a0bdc5-8473-7264-b685-eb2558aed5de", "title": "Why Safari does not need any protection from Chromium", "url": "https://nielsleenheer.com/articles/2022/why-safari-does-not-need-any-protection-from-chromium/", "published_at": "2022-02-09T13:57:16+00:00" }, { "id": "01a0bdc5-8473-7264-b685-eb2558e231d2", "title": "Hardware and the web: the balance between usefulness, security and privacy", "url": "https://nielsleenheer.com/articles/2021/hardware-and-the-web-the-balance-between-usefulness-security-and-privacy/", "published_at": "2021-10-11T15:08:29+00:00" }, { "id": "01a0bdc5-8473-7264-b685-eb2559aca953", "title": "Chrome is the new Safari. And so are Edge and Firefox.", "url": "https://nielsleenheer.com/articles/2021/chrome-is-the-new-safari-and-so-are-edge-and-firefox/", "published_at": "2021-09-07T18:53:41+00:00" }, { "id": "01a0bdc5-8473-7264-b685-eb255a027b05", "title": "Why Electron apps are fine", "url": "https://nielsleenheer.com/articles/2021/why-electron-apps-are-fine/", "published_at": "2021-08-31T12:54:02+00:00" }, { "id": "01a0bdc5-8473-7264-b685-eb255ad03c38", "title": "Cancelling conferences in the face of novel coronavirus", "url": "https://nielsleenheer.com/articles/2020/cancelling-conferences/", "published_at": "2020-03-12T09:16:11+00:00" }, { "id": "01a0bdc5-8473-7264-b685-eb255b7eaaa3", "title": "An Introduction To WebBluetooth", "url": "https://nielsleenheer.com/articles/2019/an-introduction-to-webbluetooth/", "published_at": "2019-02-13T13:14:45+00:00" }, { "id": "01a0bdc5-8473-7264-b685-eb255c680f63", "title": "The case for console.hex()", "url": "https://nielsleenheer.com/articles/2017/the-case-for-console-hex/", "published_at": "2017-11-27T14:55:35+00:00" }, { "id": "01a0bdcd-53c5-73da-8dc0-cd7c514ca642", "title": "Complete and utter demo failure", "url": "https://nielsleenheer.com/articles/2017/complete-and-utter-demo-failure/", "published_at": "2017-11-22T14:00:11+00:00" }, { "id": "01a0bdcd-53c5-73da-8dc0-cd7c51c3d4c8", "title": "About Chrome, iOS and Payment Request", "url": "https://nielsleenheer.com/articles/2017/about-chrome-ios-and-payment-request/", "published_at": "2017-10-24T22:17:12+00:00" }, { "id": "01a0bdcd-53c5-73da-8dc0-cd7c52660d12", "title": "Things I take with me when I travel to a conference", "url": "https://nielsleenheer.com/articles/2017/things-i-take-with-me-when-i-travel-to-a-conference/", "published_at": "2017-07-13T23:00:39+00:00" }, { "id": "01a0bdcd-53c5-73da-8dc0-cd7c52d02e5b", "title": "The problems with feature detection", "url": "https://nielsleenheer.com/articles/2015/the-problems-with-feature-detection/", "published_at": "2015-08-30T23:00:04+00:00" }, { "id": "01a0bdcd-53c5-73da-8dc0-cd7c52de41cc", "title": "A eulogy for Internet Explorer, 1995 — 2015", "url": "https://nielsleenheer.com/talks/2015/a-eulogy-for-internet-explorer-1995-2015/", "published_at": "2015-07-28T11:31:01+00:00" }, { "id": "01a0bdcd-53c5-73da-8dc0-cd7c5352de09", "title": "Safari and IE", "url": "https://nielsleenheer.com/articles/2015/safari-and-ie/", "published_at": "2015-07-10T23:00:48+00:00" }, { "id": "01a0bdcd-53c5-73da-8dc0-cd7c5384a821", "title": "The Android browser", "url": "https://nielsleenheer.com/articles/2014/the-android-browser-explained/", "published_at": "2014-07-16T09:38:42+00:00" }, { "id": "01a0bdcd-53c5-73da-8dc0-cd7c53e499e6", "title": "Starting an Open Device Lab without breaking the bank", "url": "https://nielsleenheer.com/articles/2013/starting-an-open-device-lab-without-breaking-the-bank/", "published_at": "2013-11-04T08:36:32+00:00" }, { "id": "01a0bdcd-53c5-73da-8dc0-cd7c54e309f3", "title": "The Android browser – which one do you mean?", "url": "https://nielsleenheer.com/articles/2013/the-android-browser/", "published_at": "2013-11-02T08:30:44+00:00" }, { "id": "01a0bdcd-53c5-73da-8dc0-cd7c54e5f8fb", "title": "Thoughts on Blink", "url": "https://nielsleenheer.com/articles/2013/thoughts-on-blink/", "published_at": "2013-04-03T23:00:00+00:00" }, { "id": "01a0bdd2-9bed-71d3-8505-296f932a8699", "title": "Everybody wants to be like Safari – or why Apple’s browser marketshare is inflated", "url": "https://nielsleenheer.com/articles/2012/everybody-wants-to-be-like-safari/", "published_at": "2012-10-20T11:59:58+00:00" } ] posts Claim your blog
Back to Home | Hello my name is Niels Leenheer
Blog · corpus.blog/blogs/nielsleenheer.com/posts

Home | Hello my name is Niels Leenheer

nielsleenheer.com

2026

2025

2024

2022

2021

2020

2019

2017

2015

2014

2013

2012