alexharri
TypeScript's unknown type and type variance
I use LLMs as a staff engineer in 2026
No plans to build a library right now, but who knows. Feel free to grab what you need from the website's code!
If I were to build a library, I'd probably convert the shaders from WebGL 2 to WebGL 1 for better browser compatibility. Would also need to figure out a good API for the library.
One thing that a library would need to deal with is that the shape vector depends on the font family, so the user of the library would need to precompute the shape vectors with the input font family. The sampling circles, internal and external, would likely need to be positioned differently for different font families. It's not obvious to me how a user of the library would go about that. There'd probably need to be some tool for that (I have a script to generate the shape vectors with a hardcoded link to a font in the website repository).
Using only ASCII felt more in the "spirit" of the post and reduced scope (which is always good)
The resulting ASCII looks dithered, with sequences like e.g. :-:-:-:-:. I'd guess that it's an intentional effect since a flat surface would naturally repeat the same character, right? Where does the dithering come from?
I'd probably arrive at a very different solution if coming at this from a "you've got infinite compute resources, maximize quality" angle.
The code for this post is all in PR #15 if you want to take a look.
ASCII characters are not pixels: a deep dive into ASCII rendering
Microfeatures I Love in Blogs and Personal Websites
Personal Information
Rich Friend, Poor Friend (2022)
The Myth of Rational Design (2010)
The Age of Greater Reykjavík
Social dynamics of Bluetooth speakers (2022)
- Ástvaldur -> ur,,i,ar - Baldur -> ur,ur,ri,urs
The "aldur" ending is pronounced in the exact same manner, but applying the declension pattern of "Ástvaldur" to "Baldur" would yield:
- Baldur - Bald - Baldi - Baldar
The three last forms feel very wrong (I asked my partner to verify and she cringed).
Spoken Icelandic is surprisingly close to its written form. I wouldn't expect very different results for the trie if a "phonetic" version of names and their endings were used instead of their written forms
I would not be confident enough myself to add the data myself since I'd probably be wrong a lot of the time. When reviewing the results for the top 100 unknown names I frequently got results that I thought _might_ be wrong, but I wasn't sure. For those, I looked up similar names in DIM to verify, and often thought "huh, I would not have declined those names like this". For that reason, I rely on the DIM data as the source of truth since it's maintained by experts on the language.
Native speakers very frequently decline names in ways that are not technically perfect but sound correct enough. For example, my name (Alex) should not be declined, but people frequently use the declension pattern (Alex, Alex, Alexi, Alexar).
There's some parallel to be drawn with how the compressed trie applies patterns that it's learned to names. That's at least how I thought about it when designing the library.
Compressing Icelandic name declension patterns into a 3.27 kB trie
Do call yourself a programmer, and other career advice (2013)
Arguing point-by-point considered harmful
Staring into the abyss as a core life skill (2022)
Amazon's Antitrust Paradox (2017)
AI is not our future – Procreate
The Icelandic Voting System
Thanks for raising this