HNHacker News
TopNewBestAskShowJobs

alexharri

1,074 karma · joined November 8, 2022

Website: https://alexharri.com GitHub: https://github.com/alexharri
submissionscomments
alexharri··on ASCII characters are not pixels: a deep dive into ASCII rendering
The ASCII moon tool is fun to play around with!

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).

alexharri··on ASCII characters are not pixels: a deep dive into ASCII rendering
I did actually try out various alphabets e.g. Cyrillic, Greek and symbols (e.g. box drawing symbols), but ended up removing them: https://github.com/alexharri/website/commit/d969ef839

Using only ASCII felt more in the "spirit" of the post and reduced scope (which is always good)

alexharri··on ASCII characters are not pixels: a deep dive into ASCII rendering
Looks very cool! Thanks for sharing.

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?

alexharri··on ASCII characters are not pixels: a deep dive into ASCII rendering
Just pushed a fix, should be live in a minute or two, thanks again!
alexharri··on ASCII characters are not pixels: a deep dive into ASCII rendering
Good catch, thanks! I’ll push a fix once I’m home
alexharri··on ASCII characters are not pixels: a deep dive into ASCII rendering
Yeah, this is good to point out. The primary constraint I was working around was "this needs to run at a smooth 60FPS on mobile devices" which limits the type and amount of work one can do on each frame.

I'd probably arrive at a very different solution if coming at this from a "you've got infinite compute resources, maximize quality" angle.

alexharri··on ASCII characters are not pixels: a deep dive into ASCII rendering
Author here. There isn't a library around this yet, but the source code for the blog is open source (MIT licensed): https://github.com/alexharri/website

The code for this post is all in PR #15 if you want to take a look.

alexharri··on Tell HN: Happy New Year
Happy New Year from Reykjavík, Iceland!
alexharri··on Compressing Icelandic name declension patterns into a 3.27 kB trie
Hmm, good idea. There are names that have the exact same pronunciation yet have different patterns of declension, for example:

- Á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

alexharri··on Compressing Icelandic name declension patterns into a 3.27 kB trie
It would be good to cover more names for sure -- that's an ongoing process at DIM. Names are frequently added to the approved list of Icelandic names, so there's always going to be some lag.

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.

alexharri··on Compressing Icelandic name declension patterns into a 3.27 kB trie
As a native Icelandic speaker, I have an intuition for how to decline names -- I don't really think about it consciously. I'd assume that for most people it's just pattern matching.

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.

alexharri··on A flowing WebGL gradient, deconstructed
Hmm, good point. I’m abroad this week and don’t have a laptop, but I’ll look at adding an MIT licence to the shader itself when I’m home. (I don’t want the post contents to be MIT licensed, but the website code and examples should be)

Thanks for raising this

alexharri··on A flowing WebGL gradient, deconstructed
Thanks a lot! Yeah tons of work went into this post, I’ve been working on it since November. The shader itself was about 2-3 weeks of evenings to get the effect 90% of the way
alexharri··on The web's clipboard, and how it stores data of different types
Thanks! I've been trying to limit excessive detail and tangents in my writing (my posts tend to be on the longer side). Great to hear I managed to strike a good balance here.
alexharri··on Planes in 3D Space
Just pushed a fix changing "cos" to "\cos", looks much better. Thank you!
alexharri··on Planes in 3D Space
They're created with ThreeJS and react-three-fiber. My website is open source, you can find all of the 3D scenes here: https://github.com/alexharri/website/tree/master/src/threejs...
alexharri··on Planes in 3D Space
Thanks a lot, will use this as a starting point
alexharri··on Planes in 3D Space
I haven't heard of this before, I'd be interested in learning more about how this is useful. Do you know of a good resource to read more about this?
alexharri··on The engineering behind Figma's vector networks (2019)
This post was intended as a source of information for developers who might want to implement vector networks in their own projects.

Back in 2018 I wanted to support vector networks in my animation editor project, but had a really hard time finding information. I didn't have a math or CS background, so just knowing what concepts to Google was somewhat of a brick wall. Googling "vector networks" didn't yield any useful results, because there weren't any resources discussing them (aside from marketing content from Figma). So in writing this post, I wanted to create the resource I needed back then.