Recent submissions

Comment · 9 months ago
It's not very frequently updated, and there's not a lot on it, but here's mine!

domainofheraclius.info

Comment · 1 year ago
Regarding sniffing out "networker"s. At one of the first "networking" events I attended, I spoke for a bit with a particular person. An hour or two later, we ended up in the same circle and he proceeded to rattle off from memory everything I had told him about myself. I think he had meant to show off how well he was listening or something... it was more than a little off-putting.
Comment · 1 year ago
Can you be a little more specific about what you consider gross? I only read the article because of your comment; I got curious. Most of it just seems like common courtesy, and a few fairly standard body language tricks.
Comment · 1 year ago
Scholastic Metaphysics: A Contemporary Introduction by Edward Fesser

I stumbled across this completely by accident while doing research for a history of science class I was designing years ago. It took... a while... to stop saying "but why does this matter!" every two seconds while reading it, but eventually I was able to open my mind to metaphysics as a discipline and get it into my head exactly what he was talking about, and why it was useful. After that, it was smooth sailing. I owe a lot to this book.

Comment · 1 year ago
Oh! I didn't know that actually. That's useful information.
Comment · 1 year ago
These days, I personally haven't had any issues with odd scanners or printers and getting them to work. Years ago it was nightmarish, but now it tends to be a lot easier than Windows in my experience. My scanner still doesn't work in Windows (granted: I haven't sunk more than about 25 minutes into trying to get it to work), but it works just fine on Linux (with zero effort).
Comment · 1 year ago
> In both cases, asking for forgiveness (dereferencing a null pointer and then recovering) instead of permission (checking if the pointer is null before dereferencing it) is an optimization. Comparing all pointers with null would slow down execution when the pointer isn’t null, i.e. in the majority of cases. In contrast, signal handling is zero-cost until the signal is generated, which happens exceedingly rarely in well-written programs.

At least from a C/C++ perspective, I can't help but feel like this isn't great advice. There isn't a "null dereference" signal that gets sent--it's just a standard SIGSEGV that cannot be distinguished easily from other memory access violations (memprotect, buffer overflows, etc). In principle I suppose you could write a fairly sophisticated signal handler that accounts for this--but at the end of the day it must replace the pointer with a not null one, as the memory read will be immediately retried when the handler returns. You'll get stuck in an infinite loop (READ, throw SIGSEGV, handler doesn't resolve the issue, READ, throw SIGSEGV, &c.) unless you do something to the value of that pointer.

All this to avoid the cost of an if-statement that almost always has the same result (not null), which is perfect conditions for the CPU branch predictor.

I'm not saying that it is definitely better to just do the check. But without any data to suggest that it is actually more performant, I don't really buy this.

EDIT: Actually, this is made a bit worse by the fact that dereferencing nullptr is undefined behavior. Most implementations set the nullptr to 0 and mark that page as unreadable, but that isn't a sure thing. The author says as much later in this article, which makes the above point even weirder.

Comment · 1 year ago
Privet. Freakin' privet. I have spent countless hours trying to eradicate the descendants of a privet hedge that my great grandfather planted a hundred years ago; they've been taking over the nearby forest.

Talk about generational trauma.

Comment · 1 year ago
He sure got a gift for naming things. Between his S3XY cars and the Big Falcon Rocket from back in the day.
Comment · 1 year ago
Not to mention that the cost per search in terms of compute and energy is so much smaller for web search than for running an LLM. I forget the exact numbers now, but it was orders of magnitude as I recall.

Search engines are just cheaper to run. I don't know that there's a good, long term model for a free LLM-based search replacement because of how much higher the operating costs are, ad supported or not.

Comment · 1 year ago
That's an interesting positive spin on what is clearly a cost-cutting feature. I'm on the unlimited search tier, so it hasn't really been a big deal, but it's worth noting that clicking the "more results" button charges your account for an additional search too. Or at least it used to.
Comment · 1 year ago
I agree! I love a nice big dial--my car still has them for volume, heat, etc., and I cannot imagine dealing with one that didn't.
Comment · 1 year ago
The fact that you can do stuff like this with a typesetting system has always amused me. Back when I was in grad school for mechanical engineering, some other people in my research group were doing computational mechanics. We would always joke about writing all their simulations in TeX, so that the TeX file for their paper would include all of the simulation code too, and rebuilding the document would run all the simulations and generate the plots.
Comment · 1 year ago
If any entity needs some effort put into process streamlining and efficiency, it's the US government. But, seriously... Why, oh why, did it have to be called "DOGE"?

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton