HackerTrans
TopNewTrendsCommentsPastAskShowJobs

theobeers

no profile record

Submissions

How Unicode Collation Works (2025)

theobeers.com
12 points·by theobeers·2 เดือนที่ผ่านมา·4 comments

Supply and Demand Are Broken in Programming Education

blog.boot.dev
6 points·by theobeers·8 เดือนที่ผ่านมา·1 comments

comments

theobeers
·2 เดือนที่ผ่านมา·discuss
What am I supposed to say to that? If you think the argument that you believe I’m trying to make (which I couldn’t guess if you put a gun to my head) would be easy to make, and that I’m just not doing so, then you’d be better off engaging in discourse with an imaginary but more competent interlocutor.
theobeers
·2 เดือนที่ผ่านมา·discuss
Mr. Ptacek, a) I have no affiliation with OP, and b) do you know what my actual position is (not presupposing that you care)? It's that I don't know anyone who has been inspired by anything that YC has funded in a very long time. The supermajority of these startups that don't make headlines for being scams is, in a way, even sadder.

I also think it's pointless to howl at the sky about how depressing this is. It's just the current reality of SV. I'm not going to pretend that what a16z is funding is any better (or worse).
theobeers
·2 เดือนที่ผ่านมา·discuss
While I agree that YC appears rotten to the core at this point, it’s almost impossible to sustain a criticism of the accelerator because they make so many little investments. No matter what you accuse them of, they’ll dismiss it by saying you’re cherry-picking. I have to admit, it’s a brilliant strategy to avoid any kind of accountability.
theobeers
·2 เดือนที่ผ่านมา·discuss
Well, that's sort of like what the "sort key" of a given string is: a vector of its nonzero primary-level collation weights, then secondaries, then tertiaries... And once you know what collation options you're using (tailoring etc.), you could just compute the sort key of each string as you encounter it and cache that. Then you would be able to reach a collation decision rapidly for any two strings whose sort keys you already have. It does boil down to vector comparison at that point.

I experimented with adding an LRU cache to my Rust UCA implementation, but I saw essentially no performance benefit (on the workloads I had), and I decided the feature wasn't worth the complexity and removed it.

Something I found about Unicode collation is that, once the fast paths are added, they get hit a surprisingly large percentage of the time. I'm thinking in particular of the way that performant UCA implementations build sort keys lazily, stopping once a collation decision is reached. The average "point of difference" is at the primary level and within a few characters of the start of each string. Only a small portion of the sort keys ever get built.

I am definitely interested in finding more ways to avoid work in the collation routine. Many times, I've had what I thought was a clever idea and found that it didn't pan out in benchmarks. Thank you for your comment!
theobeers
·2 เดือนที่ผ่านมา·discuss
Submission statement:

Figuring out how to develop a Unicode collator from scratch for a research group that I working with in Berlin was one of my formative experiences as a programmer. Ever since then, I've wanted to write something to collect my thoughts on the Unicode Collation Algorithm and the process of building a conformant implementation. Last summer I had a good excuse to do this, when I decided to adapt my collator to Zig as a way of learning that language.

The Unicode standards, and the (relatively) low-level software libraries based on them, do a lot of things for us to make computing possible. We have the luxury of not needing to worry about most of those things most of the time. I find it humbling whenever I do peek under the hood.
theobeers
·8 เดือนที่ผ่านมา·discuss
Submission statement:

This was posted on Monday by the author and didn't manage to cut through the noise on a busy day. Thought I would give it one more chance.

It's a post by the founder/CEO of an edtech company offering courses on software development (where I also work), on the problem of connecting the dots between the software careers that people are looking to get into and the job openings that actually exist in the current market.

A few points that I found noteworthy:

- AI/ML has obviously been the growth field of the decade, but job-seekers' interest in getting into it seems to swamp the available roles.

- The point about fullstack devs getting low-ish compensation was new to me: it's probably because they tend to be jacks-of-all-trades at smaller companies that just pay less.

- Backend dev (the original focus of this company) still pencils out nicely, given what seems to be low interest from job-seekers relative to available roles, which also often pay well.

- It's unclear how or when the tech job market is supposed to correct. We can all feel that it's a broken market, on a fundamental level and to a severe degree; but diagnosing the specific problems is difficult, let alone suggesting fixes.

Direct link to the GitHub repo with the data that was gathered and analyzed for the post: https://github.com/bootdotdev/jobdata-november-2025
theobeers
·9 เดือนที่ผ่านมา·discuss
“If AI doesn’t literally take all the white-collar jobs over the next few years, we won’t just have a stock market bubble to deal with. We’ll have a drought of educated workers.”

Indeed. For me this feels like an “I saw the best minds of my generation” moment.
theobeers
·5 ปีที่แล้ว·discuss
Re: macOS, I don't think the people currently maintaining Alacritty have the ability or the inclination to fix those issues, some of which have been widely reported. Users keep opening duplicate issues without realizing it. I was guilty of this myself; I'm one of many people to notice problems with font fallback on macOS. While I thought the dev who responded to me could have been a bit nicer, it's probably frustrating for them to go through the same routine over and over. I also didn't really understand, at first, what was causing the problem that I was seeing. So I was not only bothering them, but my sense is that I came off as an idiot. (After poking around a bit, I found that the problem is in Alacritty's crossfont library. I forked it, added a temporary fix, and built my own version of the app from source. It was a happy ending to a not-entirely-pleasant experience.)
theobeers
·7 ปีที่แล้ว·discuss
This is not ad hominem. It’s directly relevant. No attempt was made to avoid discussion of the issue at hand by attacking Doctorow. Let’s please keep our fallacies straight.