HN user

theobeers

1,091 karma

[ my public key: https://keybase.io/theobeers; my proof: https://keybase.io/theobeers/sigs/orT-LRJbX6iFyDSnl_FcydcN_bA88mrF8RJW-ODwFio ]

Posts5
Comments164
View on HN

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.

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

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.

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!

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.

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

Indeed, many such cases. Our society is full of institutions that functioned only because "no one in a position to participate would be shameless enough to abuse it." Then that assumption breaks, and it's ruined for everyone.

It is relevant, though awkward to discuss, that a large share of NIH and NSF funding proposals (and indeed funded projects) are led by researchers who didn't grow up in the US. I wonder if it's in fact a majority.

Another record, Name Authority Pointer (NAPTR), has the telephone number of the Johnson Space Center in Houston:

  > dig where-is-the-iss.dedyn.io NAPTR

  ; <<>> DiG 9.10.6 <<>> where-is-the-iss.dedyn.io NAPTR
  ;; global options: +cmd
  ;; Got answer:
  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31786
  ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

  ;; OPT PSEUDOSECTION:
  ; EDNS: version: 0, flags:; udp: 1232
  ;; QUESTION SECTION:
  ;where-is-the-iss.dedyn.io. IN NAPTR

  ;; ANSWER SECTION:
  where-is-the-iss.dedyn.io. 3600 IN NAPTR 100 100 "u" "E2U+voice:tel" "!^.*$!tel:+12814830123!" .

  ;; Query time: 84 msec
  ;; SERVER: 100.100.100.100#53(100.100.100.100)
  ;; WHEN: Sun Jul 06 10:53:39 EDT 2025
  ;; MSG SIZE rcvd: 111

An interesting bit, on not making it too easy for people to circumvent the borrow checker:

First, we use a C++ compiler to build gccrs, disabling the borrow-checking pass of the compiler. It is important to ensure borrow-checking cannot be disabled at runtime using a command line flag, as this could have a negative impact on the Rust ecosystem – however, building gccrs without borrow-checking to use it as an intermediate compiler in our bootstrapping process is okay.

In context, those are not shockingly high sums. The real problem seems to be what Woit summarizes in this 2004 (!!) comment on his blog:

It takes a non-trivial amount of time and effort to absorb new mathematical ideas and by so dominating the mathematical end of particle theory for twenty years, string theory has monopolized the time of the mathematically sophisticated members of the community. It has also quite literally driven out of the field a lot of people who were interested in other sorts of ideas about how to apply mathematics to questions in particle theory.

https://www.math.columbia.edu/~woit/wordpress/?p=119&cpage=2...

edit: How bonkers is it that another two decades have been pissed away on this?

The screenshot of the DoD recruitment pitch from the conference set off a little "military-industrial complex alarm" in my mind. To be clear, I wouldn't have tagged the guy in a mean tweet. I would have just frowned and gone on with my day. But I think it's crucial that the voices of people like this blogger be present in tech communities.

She was right to speak out, and her employer was within its rights to fire her. As long as she subsequently found a job at a company that comes closer to sharing her values, it sounds like a win-win.

I wonder why Cloudflare still recommends a value of 6 months (15552000 seconds) for Max-Age in the HSTS header, when that isn't enough to qualify for Google's preload list. They do acknowledge this problem in their docs, but (afaik) without explaining why they've stuck with 6 months as the default and recommended value.

No smoking all day is a big deal for many Muslims in the Middle East. One year I was living in Cairo during Ramadan, and each day when it got close to the sunset call to prayer (which heralds the end of the fast), it seemed like all the cab drivers had cigarettes in hand, waiting eagerly to light up.

I have a library in which I set #![forbid(unsafe_code)]. It relies on a small number of carefully chosen dependencies, almost all of which contain unsafe code. I mean first-rate libraries like bincode, bstr, and once_cell. It feels a bit disingenuous for me to emphasize the safety of the top layer that I've written. I guess what I can actually express is that I'm setting risk boundaries and, in a way, taking myself out of the equation.

Apple Rankings 4 years ago

I never thought I would see mention of Rogers Orchards on HN. Some of my family members live within biking distance of there, and I love stopping by for a bag of apples or a pie.

When I lived by Lake Shore Drive in Chicago (down in Hyde Park), the noise of nighttime motorcycle races really bothered me. I was surprised because I never thought of myself as being sensitive to such things. But it was so, so loud, and they kept it up late into the night. Trying to crack down on this seems reasonable to me—at least insofar as we’re comfortable with traffic cameras in the first place.

Re: your last point, bingo. It’s almost impossible to have a real debate on this issue because people—esp. those who favor censorship and think highly of themselves for understanding what Section 230 does and does not say—refuse to go to the crux of it. They’ll bury you in technicalities and side arguments before saying anything about what they believe.

Cast iron leet 4 years ago

I love cooking with cast iron and have built up a decent collection over the years. More recently, I’ve also gotten into carbon steel cookware.

However… I always keep one nonstick pan in the kitchen, and it sees a fair bit of use. My practice is to buy something cheap, since I’ve found that the nonstick coating will last only so long, even on an expensive pan. By not spending much, I avoid feeling upset when it’s time for a replacement. (My current one came from IKEA, for about 15 EUR. I expect to get a year out of it.)