HN user

lvkv

122 karma
Posts4
Comments18
View on HN

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

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.

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.

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?

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?

Moon Disaster 4 years ago

The trusted GPS problem might be solved by actually turning GPS upside down and having the device emit the signals instead of receiving them—it’s known as reverse or inverted GPS.

I’ve written a blog post that addresses many of problems, and your comment was one of the reasons I posted it! You can find it at https://news.ycombinator.com/item?id=33558566

Moon Disaster 4 years ago

One way to get a verifiable time stamp would be to show knowledge of an unpredictable but well-known thing in the past (providing a lower bound), then to create the same thing yourself (providing an upper bound). I wrote about it here: https://news.ycombinator.com/item?id=33558566.

Your comment in particular made me feel like it was worth posting!

Hi Hacker News, this is the first blog post I’ve ever published. I’ve been sitting on this for a while, but reading a few comments on the MIT Moon Disaster post a few days ago convinced me to post, particularly:

“What are some ways to verify video integrity? …” (@photochemsyn)

“… It would be useful for some people to have cameras which do this at the moment of recording, along with GPS, cell location data, and so on, to get really bulletproof documentary footage. I don't want that built into my phone, necessarily…” (@samatman)

“Even just a verifiable time stamp would be a big win.” (@HPsquared)

This is a topic I’m generally interested in, so I’d greatly appreciate discussion and constructive criticism on the ideas I’ve thrown out here. Thanks for reading!

The number denotes what section of the manual the command (or function, etc.) comes from. Aside from that, it also helps clear up potential confusion about what you’re talking about—a good example is stat(1) (the command) and stat(2) (the system call). Without the number, you’d have to rely on context clues to infer which stat was the relevant one. https://unix.stackexchange.com/questions/3586/what-do-the-nu...