Recent submissions

Comment · 7 months ago
Do you have one or more public examples of this?
Comment · 1 year ago
> it quite literally is the worst language to make large scale updates beating even C++

Having worked in both C++ and Rust codebases professionally, my experience has been the complete opposite. I have to be extremely cautious when making changes to C++ codebases, (especially async ones) and it’s always a huge time sink trying to just get the damn thing and its tests compiled. Rust’s compiler and tooling, on the other hand, allow me to make high-pressure changes much more confidently. It’s not perfect, but I’ll take it over the average C++ project every time

Comment · 2 years ago
Unfortunately, the world is opt-out, not opt-in.
Comment · 2 years ago
Yeah, I’ll update the README to be more specific about this. This is also why I didn’t provide instructions on how to use the tool :)
Comment · 2 years ago
Author here. Those are kind words! I’d like to add the last part of that quote:

> The page you're on right now is my mess. Now go create yours!

Comment · 2 years ago
As an alum of Stony Brook, I’m grateful for all Jim Simons did for the university. Aside from having been the chairman of the math department, he’s the reason we have the Simons Center for Geometry and Physics, as well as the “Renaissance” School of Medicine. Not to mention his recent gift of $500 million—the largest unrestricted donation to a public university in American history. I’m sure there’s much, much more that he’s done that I’m not even aware of.
Comment · 3 years ago
> This means it’s not possible to race data, dead lock, live lock, etc. While this statement is true when you look at fibers as a N:1 proposition

Deadlocks are still possible when using fibers backed by a single thread if you serialize your fiber execution. Here’s an example I’ve seen in the wild:

Imagine a serialized job server implemented with fibers that, when closed, waits for all jobs to finish by posting a final bookend job and waiting for it to finish. This works, unless you decide to close the server inside one of your serialized jobs—you’ve now created a deadlock where your job server is waiting for itself to finish closing.

I’m sure an N:1 deadlock is also possible without serialization, but I can only think of contrived examples.

Comment · 3 years ago
GitHub Enterprise had (has?) an interesting loophole to discover the existence of private repositories.

Attempting to transfer ownership of a repository to another user was aborted if the user had a repository of the same name—even if it was private.

Public GitHub doesn’t seem to have this issue with the transfer request system, though. Maybe it did at some point?

Comment · 3 years ago
How does Clearspace differentiate itself from One Sec, which has existed in this space for almost two years (if not longer)?

I’m particularly interested in: - Is Clearspace cheaper over time?

- Does Clearspace work on websites as well as apps?

- Does Clearspace require manual Shortcuts setup like One Sec does?

- Are there features here that I don’t know I want?

Comment · 3 years ago
Do you mean “sinks” instead of “toilets”?
Comment · 3 years ago
Comment · 3 years ago
I’ve always thought of the array index operator:

  a[index]
as syntactic sugar for the pointer arithmetic:

  *(a + index)
From this point of view, the existence of a “backwards” index operator makes sense; the arithmetic evaluates to the same address.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton