Recent submissions

Comment · 3 months ago
I fall somewhere in the middle these days- I really like knowing in advance that I have a place to sleep each night and that I have a way to get there, but then just do whatever I feel like in the moment for everything else.
Comment · 3 months ago
Who said anything about GDPR? If someone reveals to you that they are in some kind of protected class, then there’s a risk that anything you do they don’t like could see you tagged for discrimination even if it’s how you’d treat any customer in the same situation.
Comment · 7 months ago
That's also an option available to you: Mutex::new() is const, so there's no trouble putting one in a static variable. If the inner value can't be const-constructed, you'll need a way to prevent access before it's initialized; for that, you can use a OnceLock or just Box::leak() the Mutex once it's constructed and pass around a simple reference.
Comment · 10 months ago
Comment · 1 year ago
The law says that toys have to look like this, but there's often no restriction against painting an orange tip onto an actual firearm.
Comment · 1 year ago
`Send`, `Sync`, and `Unpin` are special because they're so-called 'auto traits': The compiler automatically implements them for all compound types whose fields also implement those traits. That turns out to be a double-edged sword: The automatic implementation makes them pervasive in a way that `Clone` or `Debug` could never be, but it also means that changes which might be otherwise private can have unintended far-reaching effects.

In your case, what happens is that async code conceptually generates an `enum` with one variant per await point which contains the locals held across that point, and it's this enum that actually gets returned from the async method/block and implements the `Future` trait.

Comment · 1 year ago
> There’s no difference with a password, except that the sign-in process can be streamlined when everything works

There is one other major difference behind the scenes: With passkeys, the service you’re logging into never has enough information to authenticate as you, so leaks of the server-side credential info are almost (hopefully completely) useless to an attacker.

Comment · 1 year ago
It’s an attack that lets the malicious actor hijack the passkey registration flow to insert a key that they know, so that they can later log in as the victim.
Comment · 1 year ago
A quick read through of their anonymization process seems to indicate that they didn’t scan the message contents for PII (other than usernames).

If true, that seems like a huge oversight. I also wonder what would happen if someone finds their information in the dataset and requests it to be removed per GDPR or other privacy legislation.

Comment · 1 year ago
I use Anki more as a serendipity engine than for memorization: Whenever[1] I have an interesting observation or thought, I'll write a couple of sentences about it and file two copies: One in Obsidian, with links to any adjacent/relevant notes (if any), and another in Anki as a Close deletion.

Anki is set up with a long review cycle (1 day, 1 week, 1 month, then automated) and I sit down to do my reviews about once a week. In that process, I usually end up having new ideas to make notes about based on either the randomized order the notes show up in or spotting a connection between the review note and something I've been working on lately.

[1] In practice, I let many/most of these go unrecorded - I probably average about one new note per day, but in bursts.

Comment · 1 year ago
From my understanding, it's more that the explosion phase of a detonation is more fuel-efficient than the burning phase, but can't last very long under normal circumstances because the flame front is moving so fast-- This is a trick to continue fueling the explosion to sustain it over an indefinite time period.

Think about it in terms of an old-fashioned gunpowder line fuse: If you lay it out in a ring and have some kind of mechanism to continuously place down new gunpowder on the ring in front of the flame, you can keep it going until you run out of fuel.

Comment · 1 year ago
This is one of the annoying constructions in English that has two common meanings which are the opposite of each other. It can either be referring to the worst possible/conceivable setback (as here) or to the worst encountered setback-- you have to use other clues like overall tone and the surrounding context to figure out which was meant.
Comment · 1 year ago
> You buy back shares and 'retire' them, thereby making everyone else's shares more valuable.

But the cash outflow to purchase those shares makes the company less valuable at the same time. In a completely efficient market, the amount of money that the company pays to buy back a share should be exactly balanced by the ownership percentage of that share, resulting in no net change to the price of the company's other shares.

Comment · 1 year ago
I admit that I was unaware of that order, as I currently live overseas and don’t follow US news that closely.

However, the order opens with the line “By the authority vested in me as President by the Constitution and the laws of the United States of America,” and I know of no law or constitutional clause that grants the President the power to designate an official language.

I could easily be mistaken, as there are a lot of laws on the books and this isn’t my field of expertise. Usually, though, an executive order will cite the relevant authority so that everyone understands where the power comes from; this one doesn’t.

It’s also mostly symbolic, aside from rescinding a previous order— None of the executive agencies are directed to halt producing or processing non-English documents, for instance.

Comment · 1 year ago
For one thing, the US has never had an official language. English is obviously the most widely used there, but contracts and official documents written in other languages are also completely valid.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton