drhagen

Joined 9 years ago

Karma
303
Submissions
62
Member since
Nov 24
David Hagen; drhagen.com; biology, statistics, software
View on Hacker News

Recent submissions

Comment · 21 hours ago
It's strange how brains store information so differently. I've watched through TNG maybe 5 times as an adult—most recently last year. (Watched a lot more in middle school because my dad recorded most of them onto VHS.) I went 20/20 with an average of 1.5 guesses. The game would show me a picture of a scanner on a table, and my brain would go, "That's the scanner Data used to scan Geordi and Ro when they phase shifted by the Romulans." Search "geordi romulans" and, boom, get it in 1.

Why did my brain store TNG to this level of detail and not, like, quantum mechanics or the names of the people in my church? This is not particularly useful information, brain!

Comment · 10 days ago
Comment · 12 days ago
Nuclear testing in the middle of the twentieth century threw up lots of carbon-14 in the atmosphere. It has been slowly washing out since then. Because we have measured the amount of carbon-14 every year, we can use the amount of carbon-14 in it to simply look up (approximately) what year some plant material grew up in. This version of carbon-14 dating has nothing to do with the nuclear-decay-based carbon-14 dating that most people are familiar with, which acts over thousands of years.
Comment · 20 days ago
Admittedly, my experience comes from OAuth and Webauthn. I have yet to try to implement passkeys. My exposer to passkeys comes completely from long blog posts complaining about it.
Comment · 20 days ago
> far more difficult to use in practice

I guess I am envisioning the user agent doing all of this. You go to a site and create click account, your browser shows a pop-up: "<website> is asking you create an EasyAuth account. Would you like to create an account on this site?" If you click yes, then the user agent does this in the background:

website: Sure you can have an account. Use this token <token> once and this ID <user_id> forever.

me: Ok, here's your token <token> for ID <user_id> and my public key is <public_key>. Signed, <digital_signature> to prove it works on my end.

Maybe generating a unique public key for each website is not substantially better than generating a password, but at least a signature cannot get stolen on the server side or in transit. You wouldn't have to change your public key if their database got slurped.

Passwords also aren't standardized, so they are pain to generate (special characters required or disallowed?). They don't reliably autofill into a website. You still have to go through a manual flow to login; user-agent doesn't just keep you logged in. I guess I would be fine if the user-agent knew how to authenticate me to every website.

Maybe this is what the passkey system was before it got designed-by-committee'd into oblivion. I am just always amazed by how complex authentication is when the user-agent should be able to handle this rather painlessly.

Comment · 20 days ago
Ok, I guess you also need a way to say "Oh, and next time I talk to you I'll use public key <public_key>."
Comment · 20 days ago
Can someone tell why the whole standard for authentication on the web is not just this:

me: Can you show me my stuff?

website: HTTP 401, who are you? I understand EasyAuth 1.0, if that is good for you.

me: Sure, here's my EasyAuth 1.0: Hi <website>, I'm <user_id>. The time is <timestamp>. Signed, <digital_signature>.

Comment · 26 days ago
This is the public dividend of a standard finally winning. The article gives credit to Unicode, but it is the fact that ASCII unambiguously won that gives plain text its portability and longevity. It looks like Unicode is on its way to winning in the same way, but it is not there yet. Most text files I write are still pure ASCII because that's the only way to avoid unexpected glitches [0].

[0] Windows newlines not withstanding.

Comment · 28 days ago
It always seemed like the recursive flag of cp was an implementation detail leaking into the UI. Like, I get that copying a file requires creating more than one inode, but...so? Eventually, graphical OSes agree with me—copy/paste works the same on folders as it does on files.
Comment · 1 month ago
Comment · 1 month ago
I get that the article was already super long, but I really wanted to hear how they got all the body-parts words from the Pre-Greeks. That seems like such a random corpus to lift from another language. Pre-Greeks way more into divination?
Comment · 1 month ago
When I was a grad student at MIT, my desk was across the hall from the Julia people. We even shared a lunch table. Julia is most famous for its optimizing compiler, but many people may not notice the careful work that went into designing the language itself. Matlab this was not! I remember one long conversation where one of them was teaching me about the different types of normalization of unicode. They had to pick one to canonicalize unicode variable names (more useful for a mathy programming language), and they were carefully considering the consequences of the options.
Comment · 1 month ago
Before clicking, I said to myself "Indian peasant".

> You have drawn a girl, born in the Ganges Plain in 1628 CE.

> She was born, married at 16, lost her mother at 19, was orphaned at 30, had 8 children, and died at 39 of pneumonic plague, with 6 surviving children.

Nailed it. Though in retrospect, I drew really well. It would have been safer to guess "toddler death".

Comment · 3 months ago
They spent a huge amount of complexity supporting mailing lists that claim mutated messages came FROM the original sender instead of FROM [email protected]. Is that use-case worth the additional effort?

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton