HNHacker News
TopNewBestAskShowJobs

theobeers

1,091 karma · joined March 8, 2019

[ my public key: https://keybase.io/theobeers; my proof: https://keybase.io/theobeers/sigs/orT-LRJbX6iFyDSnl_FcydcN_bA88mrF8RJW-ODwFio ]
submissionscomments
theobeers··on YC's Biggest Scandals
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··on YC's Biggest Scandals
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··on YC's Biggest Scandals
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··on How Unicode Collation Works (2025)
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··on How Unicode Collation Works (2025)
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··on Supply and Demand Are Broken in Programming Education
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··on "Vibe code hell" has replaced "tutorial hell" in coding education
“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··on Go is still not good
Perhaps the new "Green Tea" GC will help? It's described as "a parallel marking algorithm that, if not memory-centric, is at least memory-aware, in that it endeavors to process objects close to one another together."

https://github.com/golang/go/issues/73581

theobeers··on NIH limits scientists to six applications per year
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.

theobeers··on Get the location of the ISS using DNS
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
theobeers··on An Alabama landline that keeps ringing
As recently as five years ago, the Fine Arts Building on Michigan Ave. in Chicago employed elevator operators. It probably still does.
theobeers··on Y Combinator deletes posts after a startup's demo goes viral
Watching that video made me wonder whether I should even feel comfortable visiting HN.
theobeers··on (Re)Using rustc components in gccrs
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.

theobeers··on 20 Years of "Not Even Wrong"
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?

theobeers··on Severity HIGH security problem to be announced with curl 8.4.0 on Oct 11
Let’s wait and see what the vulnerability is. Maybe it doesn’t have anything to do with the pitfalls of C. But if it does, expect to read a lot more comments like this.
theobeers··on That Time I Posted Myself Out Of a Job
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.
theobeers··on That Time I Posted Myself Out Of a Job
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.
theobeers··on Everything that uses configuration files should report where they're located
I like this about Deno (not to suggest that the runtime is without its flaws). Whenever I try to run a script and it tells me I need to allow e.g. read access to the filesystem, I’m more grateful than annoyed. And it lets you choose the granularity of the permissions that you grant. Hopefully this approach will become more common.

https://deno.com/manual@v1.34.3/basics/permissions

theobeers··on HSTS preload adoption and challenges
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.
theobeers··on Tell HN: Eid Mubarak
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.
theobeers··on The poor, misunderstood innerText (2015)
This blog post is from 2015—which should be added to the title here on HN.

See MDN's docs on innerText. It's fully supported in Firefox since version 45 (2016). (Edit: the blog post also has an update at the bottom, noting that, as of 2016, the situation was already much better.)

https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement...

theobeers··on Safety and Soundness in Rust
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.
theobeers··on Owl: A toolkit for writing command-line user interfaces in Elixir
As of last year, Meta recommends internally that CLI tools be implemented in Rust:

https://engineering.fb.com/2022/07/27/developer-tools/progra...

theobeers··on Apple Rankings
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.
theobeers··on Noise cameras to be trialled in England to tackle ‘boy racers’
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.
theobeers··on Crimean bridge: Explosion is 'the beginning', says Zelensky adviser
Putin has only so long to live, and I doubt that whoever/whatever replaces him will have even his (lately degraded) level of competence.
theobeers··on Fork of the popular “I don't care about cookies” extension
I’m glad someone did this. I immediately uninstalled the extension when I saw that it had been acquired by Avast.
theobeers··on 5th Circuit Rules Internet Companies Have No Right to Moderate
I’ve been reading Masnick for years; I’ve just gotten really tired of his shtick. It sounds like you’re also bored by this unproductive discourse, albeit from the other side. At least we can agree in one respect, as sad as it is…
theobeers··on 5th Circuit Rules Internet Companies Have No Right to Moderate
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.
theobeers··on Cast iron leet
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.)

Page 1 of 6Next →