Text rendering hates you (2019)
Rendering text, how hard could it be? As it turns out, incredibly hard! To my knowledge, literally no system renders text “perfectly”. It’s all best-effort, although some efforts are more important than others.
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 23 posts.
Rendering text, how hard could it be? As it turns out, incredibly hard! To my knowledge, literally no system renders text “perfectly”. It’s all best-effort, although some efforts are more important than others.
From time to time, someone shows that in JavaScript the .length of a string containing an emoji results in a number greater than 1 (typically 2) and then proceeds to the conclusion that haha JavaScript is so broken—and is rewarded with many likes. In this post, I will try to convince you that ridiculing JavaScript for…
By all accounts, TypeScript has been a big success for Microsoft. I've seen loads of people sparkle with joy from dousing JavaScript with explicit types that can be checked by a compiler. But I've never been a fan. Not after giving it five minutes, not after giving it five years. So it's with great pleasure that I can…
Here’s an HDR QR Code . If you’re viewing this on an Apple device’s built-in display, it should work. If the big QR code is brighter than the smaller one, it works.
Modern email is a patchwork of protocols and extensions. Here is one article to understand them all.
A call-by-call look at context switch logging with the Event Tracing for Windows API.
Today's guest is Douglas Crockford. He's sharing the story of JSON, his discovery of JavaScript's good parts, and his approach to finding a simple way to build software. Also, his battles against XML, against complexity, his battles to say that there's a better way to build software. This is foundational stuff for the…
An illustrated diagram exposing the inner layers of the dark and cozy web
Modern extension to classic 2003 article by Joel Spolsky
Since this article contains a lot of interactive demos relying on fairly modern browser technology, let's make sure that everything is OK before continuing.
Here's a fun experiment to try. Take an open source project such as yt-dlp and try to find it from a very generic term like "youtube downloader". You won't be able to find it because of all of the content farms that try to rank at the top for that term. Even though yt-dlp is probably actually what you want for a tool…
The Big Three may effectively be down to a Big Two, and right quick.
I think the word “component” in “web components” confused a lot of people — at least it did me. “Web components” sounded like the web platform’s equivalent to…
There's no BBC News text-only site, even though everyone comes here looking for one – more info
John MacFarlane
CRDTs don't have to be all academic papers and math jargon. Learn what CRDTs are and how they work through interactive visualizations and code samples.
How to make your RSS feed look nice and provide useful information at the same time.
An interactive guide to understanding SVG paths and path commands.
Hello friends!
Debuggers serve as invaluable tools that empower developers to halt code execution and thoroughly analyze its behavior at any given moment. By utilizing debuggers, developers can efficiently identify and resolve issues within their code, making it an indispensable part of their toolkit.
In this blog post, we'll examine the virtualization obfuscation used by Nike