jemfinch

Joined 17 years ago

Karma
4,644
Submissions
1,023
Member since
Aug 19
I work for Meta (but my opinions are my own).
View on Hacker News

Recent submissions

Comment · 6 months ago
I regularly spawn several thousands of threads in the C++ servers I write, and they perform well. At least 40% of FAANG companies just reduce the size of their per-thread stacks. "Thread per-connection" works just fine, and when you need to go faster, thread pools work even better without coloring all your functions.

There is an extremely small set of domains where simple threading doesn't suffice, and async/await is too high a price to pay across the entire software ecosystem just to slightly optimize those domains.

Comment · 6 months ago
> OS threads are expensive: an operating system thread typically reserves a megabyte of stack space and takes roughly a millisecond to create.

It's typically less than a hundred kilobytes and (on the systems I've benchmarked using std::thread) it takes 60usec (wall time in userspace) to create and destroy a thread.

Threads have gotten so fast that paying the async function coloring price makes very little sense for most software.

Comment · 8 months ago
Is this the return of Advogato?
Comment · 10 months ago
My biggest problem with less(1) is that the regex engine is unreasonably slow. When processing large files, I frequently need to search with grep (or more recently, rip-grep) with large -A/-B buffers, and then pipe that through less, because the regex engine in less won't find what I want on any reasonable time scale.
Comment · 1 year ago
Comment · 1 year ago
It is most definitely not an overstatement. I have over 425 hours in Hollow Knight. I stopped playing Silksong in 8 because it felt like unfun masochism.
Comment · 1 year ago
This contradicts the most common view of Christians throughout history, especially since the simplest reading of Romans 1 expresses exactly the opposite view: "Ever since the creation of the world his invisible nature, namely, his eternal power and deity, has been clearly perceived in the things that have been made. So they are without excuse."
Comment · 1 year ago
> Many times I've asked that I'm told "he was 100% human and also 100% God."

Does this surprise you? The council of Nicea where this was defined as the orthodox claim happened in A.D. 325.

> I'm sure different sects believe differently on that, but plenty do accept that. When I ask "how is it possible to be 100% human and 100% God?" you'll sometimes get answers like, "well it's like water in different for

The _vast majority_ hold that, because the vast majority affirm Nicea. The only major denominations not holding to the orthodoxy here are (in descending order of size) Latter Day Saints (Mormons), Oneness Pentecostals, Jehovah's Witnesses, Unitarians, and Christadelphians. They represent approximately 1.6-2.4% of the Christian population.

> you'll sometimes get answers like, "well it's like water in different forms, ice, liquid, and vapor" but that doesn't answer the question

The real (orthodox) answer depends on a metaphysics of substance that most Christians, even those who hold the orthodox view, are ill-prepared to elaborate on.

Comment · 1 year ago
grte is probably "google runtime environment", I would imagine.
Comment · 1 year ago
My experience has been the opposite. The number of customer service representatives I speak with that simply can't comprehend the NATO phonetic alphabet never ceases to surprise me, somehow. More than half the time I'm nearly finished with my last name ("foxtrot india november charlie hotel...") when my interlocutor just says "whoa whoa whoa, what?" and I have to fall back to the annoyingly slow and frustrating "eff as in foxtrot..." form while effortfully disguising my palpable disappointment. It's just one more way for humanity to disappoint me.
Comment · 2 years ago
"Synoptic" is simply the adjectival form of "synopsis": Matthew, Mark, and Luke all strive to give a synopsis of Jesus' life, organized primarily around a chronological retelling of his approximately three-year ministry. Matthew and Luke include details of his birth and genealogy.

John, on the other hand, is organized around theological and moral themes, rather than the totality of Jesus' ministry and teachings. That's why it's not considered a synoptic gospel.

Comment · 2 years ago
What don't they like about it?
Comment · 2 years ago
But how much would you bet?
Comment · 2 years ago
It's impossible for your fact and the fact you're replying to both be true. Water is denser than butter, and the nearest star to the sun is about 4.3ly away; if your fact were true, the universe would be a black hole.

A cubic lightyear is about 8.468e+50 liters, and butter weighs 911 g/L, giving the mass of a cubic lightyear of butter to be 7.714348e+50, whose Schwarzchild radius is about 121,103,293 lightyears, about 100x smaller than the radius of the known universe.

Comment · 2 years ago
I've written a lot of high performance/scale C++ code using a lot of data structures over the years, and ordered iteration has been very rarely needed; unordered data structures still rule the day in performance the vast majority of the time, and their lower constant factors very frequently outperform more specialized data structures. They're absolutely worth benchmarking against if the goal is actual uptake in the actual world.

In my experience, practically every single time I've used absl::btree_map, I've ended up reverting for performance reasons to either a flat hash map or, in some relatively rare cases, a sorted vector map (despite its O(n) insert/erase) because the constant factors are _so doggone low_. The experience remains: btree_map (or SkipLists, or whatever) has (in my experience) essentially never, in over a half million lines of C++, actually remained in the code.

Also, I presume (based on the implementation details, not based on actual use) that roaring bitmaps have some reasonable iteration API that would make them relevant even to the ordered comparison.

The important thing here is that if anyone wants to contend that someone should use their new data structure because it's better or faster or more optimal for some particular use case, it's important for them to demonstrate that they've thoroughly investigated the data structure space around their proposal. Comparison against std::map and std::unordered_map simply doesn't demonstrate the kind of comprehensive knowledge that I would expect from someone who claims that I should use their optimized integer map in my own code.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton