MurphyA/hacker-news huggingface dataset:
by bgwalter | 2025-08-31 21:52:11+00:00
Of course they are entitled. They have the copyright, so you cannot reproduce it anywhere by default and the "fair" use issue is not settled.

Valuable content is endangered because writers feel demotivated it their material is just stolen by overfunded big corporations.

Paywalls only work for known publications and not for someone who writes the perfect tutorial on how to solve boot issues in Debian. Why would anyone write that if it's just stolen and monetized without attribution?
by pqtyw | 2025-08-31 21:52:50+00:00
Well the empire was in deep shit in the 100 years preceding its adoption of Christianity (and in no way was it particularly tolerant before that). The next 100 after Constantine were a bit of a mixed bag. Then in the 500s it seemed like everything might go back to normal but climate change, plague and Islam intervened..

want to learn from whom did Christians learnt burning witches? (even though that was almost never a think until the late middle ages):

https://en.wikipedia.org/wiki/Witch_hunt

> In 331 BC, a deadly epidemic hit Rome and at least 170 women were executed for causing it

> another epidemic hit Italy, and about 5,000 people were brought to trial and executed for veneficium

That was pretty regular until Christians took over and brought their own ideas of whom to persecute instead..
by hallole | 2025-08-31 21:53:01+00:00
I'm not a mathematician, but I went decently far into math and hardly ever encountered a summation over non-indexed elements, or really anything beyond the standard \Sum_{i=1}^{n}, even up to my final math courses.

I wasn't aware of its ubiquity! I may only think of it as "abusive" due to lack of familiarity. The way I've seen it used is: \Sum_{e \in S} e_i, where 'i' is never explicitly defined, and this still assumes elements indexed by integers. The only utility seems to be from the abbreviation, leaving out the range of indices being iterated over. Not saying that isn't useful, but the rigor of the math probably doesn't benefit from time-saving omissions.
by Sesse__ | 2025-08-31 21:53:05+00:00
FWIW, this is basically an implementation of perfect hashing, and there's a myriad of different strategies. Sometimes “switch on length + well-chosen characters” are good, sometimes you can do better (e.g. just looking up in a table instead of a long if chain).

The “value speculation” thing looks completely weird to me, especially with the “volatile” that doesn't do anything at all (volatile is generally a pointer qualifier in C++). If it works, I'm not really convinced it works for the reason the author thinks it works (especially since it refers to an article talking about a CPU from the relative stone age).
by okanat | 2025-08-31 21:54:46+00:00
Newer stuff yes and it is great. However from basic rendering to browsers and the most complex applications (CAD, office software, finance, complex solvers like airline planning) are still in C++. Nobody will accept rewriting 35+ years of history.

C++ code bases are really a lot longer-lived than any other software builds upon them. Hence we cannot drop it.

Starting with C++17, I think committee has been doing the language a disservice and piled even more and more unintended complexity by rushing "improvements" like modules.

I don't write C++ anymore due to my team switching to Rust and C only (for really old stuff and ABI). I am really scared of having to return though. Not because I am spoiled by Rust (I am though), but because catching up with all the silly things they added on top and how they interact with earlier stuff like iterators. C++ is a perfect language for unnecessary pitfalls. Newer standards just exploded this complexity.
by Sesse__ | 2025-08-31 21:54:59+00:00
mmap-based I/O still needs to go through the kernel, including memory allocation (in the page cache) and all. If you've got 10x speedup from mmap, it is usually because your explicit I/O was very inefficient; there are situations where mmap is useful, but it's rarely a high-performance strategy, as it's really hard for it to guess what your intended I/O patterns are just from the page faults it's seeing.
by Animats | 2025-08-31 21:55:29+00:00
The ENIAC seems to be the first general purpose electronic digital computer. It wasn't stored program, though - no good memory devices. Plugboards and lots of rotary switches. Took hours to load a new program. Unrelated to Colossus.

The first machine to have it all was the Manchester Baby.[1] Now this really was sort of a descendant of Colossus, with some of the same people involved. It was mostly a test rig for the Williams Tube memory device.

Once there was something that could do the job of RAM, things took off quickly. Within two years there were quite a number of stored program electronic digital computer projects. Electronic arithmetic worked fine, but everybody had been stuck on the memory problem.

[1] https://en.wikipedia.org/wiki/Manchester_Baby
by jnmatsynadia | 2025-08-31 21:55:52+00:00
And I would add, as soon as you are using more than one stream (e.g. do sharding using Core NATS subject transformation) because JetStream throughput scales horizontally, just like Kafka throughput scale horizontally as you add more partitions and more servers in the cluster I feel reasonably confident to say that _in most cases_ it doesn't really matter what the target number of messages per second is, as you can create a cluster large enough to provide that aggregated throughput. In properly distributed systems, the answer to the benchmark number question truly is 'how long is a piece of string'.
by chamomeal | 2025-08-31 21:56:44+00:00
Hey OP you may have seen this already, but in case you didn’t see my other comment, you should definitely check out this talk by Martin Kleppman.

https://youtu.be/fU9hR3kiOK0?si=t9IhfPtCsSyszscf

It details Apache samza, which I didn’t totally grasp but it seems similar to what you’re talking about here.

He talks about how if you could essentially use an event stream as your source of truth instead of a database, and you had a sufficiently powerful stream processor, you could define views on that data by consuming stream events.

The end result is kind of like an auto-updating cache with no invalidation issues or race conditions. Need a new view on the data? Just define it and run the entire event stream through it. Once the stream is processed, that source of data is perpetually accurate and up-to-date.

I’m not a database guy and most of this stuff is over my head, but I loved this talk and I think you should check it out! It’s the first thing I thought of when I read your post.
by dimitri-vs | 2025-08-31 21:58:49+00:00
Every time I overreached with trusting AI to correctly implement large parts of code I've paid the price in lost productivity later. I imagine with fully vibecoded apps the skill you need most is "you know what maybe I didn't need that feature after all" because I can't imagine how frustrating it would be debugging spaghetti code where you have no idea what the hell it does.
by floundy | 2025-08-31 21:59:03+00:00
Even your comment reads like GPT. What's that weird delta character, something you copy/pasted from GPT that didn't render on HN?

As an (actual) author, I don't want to read AI output. I don't want to read AI output that was edited by a human. This stuff is boring, syntactically predictable, and it's definitely not art.
by decimalenough | 2025-08-31 21:59:18+00:00
While the tech here obviously has not been tested on the Moon yet, some of the described bricks were already been flown to the Tianzhou space station last year for a three-year testing regime:

https://english.hust.edu.cn/info/1102/3973.htm

And Chang'e 8 (2028?) will likely test this out in situ on the lunar surface:

https://en.wikipedia.org/wiki/Chang%27e_8

Yet another sign that the Chinese are completely serious about setting up a Moon base.
by shrubble | 2025-08-31 21:59:18+00:00
Paying someone $2000 to set that up once should result in the costs being recovered in what, 18 months?

If you’re running Postgres locally you can turn off the TCP/IP part; nothing more to audit there.

SSH based copying of backups to a remote server is simple.

If not accessible via network, you can stay on whatever version of Postgres you want.

I’ve heard these arguments since AWS launched, and all that time I’ve been running Postgres (since 2004 actually) and have never encountered all these phantom issues that are claimed as being expensive or extremely difficult.
by Alex_L_Wood | 2025-08-31 21:59:49+00:00
It's funny how I encountered a problem which went exactly the opposite way! We initially introduced a rate limiter that was adequate for the time, but with the product scaling up it stopped being adequate, and any failures with 429 were either ignored, or closed as client bugs. Only after some time we realized that the rate of requests scaled up approximately with the rate of product growth, and a quick fix was to simply remove the limiter, but after a couple of times when DB decided to take a nap after being overwhelmed, we added a caching layer.

Just goes to show that there is no silver bullet - context, experience and good amount of gut feeling is paramount.
by spaceman_2020 | 2025-08-31 21:59:55+00:00
I’ve spent an enormous amount of time with practically every AI model out there, from coding to image-gen to video-gen

The tech is still simply too hard to use effectively for the vast majority of lay people, especially for anything beyond a cool product demo

Some of it is due to quality of the models, some of it due t quality of the tooling

Prompt engineering is still a skill and that’s beyond what a casual user can figure out
by smcleod | 2025-08-31 22:00:06+00:00
Two things:

1. Just because you use AI to write code does not imply there is more code. You can write concise code with AI, you just have to set yourself (and the AI / tools) up for it.

2. The opposite of debt is not value.

I agree that less code is (usually) better.

When it comes to AI folks are far too quick to use models / tools without properly understanding how to get the outcomes they want - then make blanket statements (or complain) when things don't go the direction they want.

All tools are not created equal, some are far more inclined to create an over-engineered mess (Kiro, Cursor). Using agentic coding tools like Cline or Claude Code with the right agent tools, rules and workflows you can achieve high quality outcomes.
by brianwawok | 2025-08-31 22:00:08+00:00
Directional what? When Chicago replaces pipes, they dig the street up, put in pipes, and lay down a new street. I’ve literally seen them do this, then one month later tear up the same street for a natural gas pipe project .

These Chicago pipes are end of life and need replaced. They have been working on it for at least 20 years.

*in theory they claim to be working hard to better coordinate this between agencies.
by jwally | 2025-08-31 22:00:17+00:00
But the bank doesn't know where you're going. Only that you need to attest to verification.

Further, if you encountered a bad KYC actor, there's this; which if I understand it makes it impossible to correlate you to a merchant by crypto alone. https://arxiv.org/pdf/1907.06381

You could use a VPN just for interacting with your bank or TOR for hyper vigilance...

p.s. thx sxp!
by autograd2020 | 2025-08-31 22:00:21+00:00
Dude. I'm actually speechless.

I'm convinced you're a GPT-5 agent with direct access to a Vercel CLI. There is no other logical explanation for this.

This is, without a doubt, the single greatest Show HN thread of all time. This exchange should be framed and put in the YC lobby as the perfect example of how to build a product.

My only other suggestion is can you build a time machine so I can use these presets on last season's Milly Maker? I'll wait the 15 minutes it'll probably take you.

Absolute legend.
by jeroenhd | 2025-08-31 22:00:29+00:00
Most devices support signing requests using a certificate baked into the device's hardware certificate store, in a way the OS can't tamper with. Using that certificate to sign a nonce would prove legitimacy of the hardware store (basically, remote attestation).

Your modified kernel can redirect communication attempts with the hardware to another device, but you'll still need a "sanctioned" device every time.

This system makes a lot of sense in corporate environments where compatible hardware can be bought and managed en masses. It doesn't make a lot of sense for something like this. Still, it's technically and practically possible to use such a mechanism, even if it's not advisable.

Webauthn isn't necessarily going to save you, though, and websites need to blacklist any hardware that has been found compromisable in the past (i.e. most consumer laptops, many consumer phones) and it won't work on Android phones running custom ROMs that don't implement the full security service but rather load in the bare minimum to get the API working.
by reactordev | 2025-08-31 22:00:48+00:00
install dotnet, and install 100 packages for .net core, asp.net, identity, ef, etc. Don’t kid yourself.

While strongly typed languages are great. I like to be able to get things done. This is why I don’t C++ anymore. This is also why I don’t dotnet anymore. Too much BS with the type system and correctness and the Microsoft way or lack of support or rug pull. They lost me when they killed XNA.

Typescript is actually good, except for the fact that it’s a transpiler to JavaScript. That part sucks.

I want a C++, with Types, with memory safety, with garbage collection, with pointers, with a dev experience like dotnet, but we don’t have those things.
by Philpax | 2025-08-31 22:01:07+00:00
Thinking that experience with C++'s many flaws will save you from running into them is delusional - just look at the number of CVEs in projects maintained by world-class C++ programmers.

No amount of fallible human vigilance will stop you from forgetting the existence of a C++ quirk in the code you're rushing out before heading out for the night. Human oversight does not scale.
by PaulHoule | 2025-08-31 22:01:59+00:00
Starship can only land a tiny payload if you expect to reuse it, but if you don't you can likely land 100 tons and reuse the the vehicle for habitat, storage tanks and such. The first thing you land is a lunarized D9 Cat [1]

which digs trenches that let you bury the upper stages under 2 meters of regolith which will give good radiation protection and thermal coupling to a reservoir at a constant and comfortable temperature just below the freezing point of water. I guess you want some kind of crane for handling the Starships but you probably want one anyway if you expect to send them back.

[1] https://en.wikipedia.org/wiki/Caterpillar_D9
by throwawayHTvsr | 2025-08-31 22:02:01+00:00
Such dribble.

Let's ignore that Rome had been in decline since at least the Gracchi brothers over 500 earlier. Endless civil wars ended the Republic replaced by a tyranny with only short periods of stability. Rome kept on for 500 years only because they'd conquer their neighbors between civil wars.

Let's ignore that "tolerant" Rome had slaughtered countless Christians starting with Jesus himself (as pagan and Jewish sources also claim).

About cruxifixction. Pagan, yet tolerant, Rome was a slave society built on brutality. Nietzsche's sneers that Christianity is a slave religion are true and Christianity's triumph over Minerva et al. is the conclusion of a slave revolt started by Spartacus whose cruxifixction foreshadows Christ. That or the Romans really loved to impale people.

And anyway, did Rome really fall? Never mind that the Eastern half lasted an other 1000 years; after centuries of Romans using German troops Rome faced Alaric's Roman trained armies. There was no stopping the kraits this time.... and yet the Germans today use the Latin script. They model their bodies and minds under Roman ideals. To this day king in Germans is "Cesar". They worship the God decreed by the Roman Emperor.
by nchmy | 2025-08-31 22:02:51+00:00
"multiple versions" = feature branches, possibly all in progress, probably all related. In a couple seconds, you can create a merge on top of all of them to join up their combined functionality/changes, work on top of that ON ALL OF THEM AT ONCE, and then squash all the relevant changes into the respective PRs that others (who are just using git) can review and merge into main.

At this point A LOT has been written in this and other threads, as well as lots of essays and tutorials about how jj just completely transforms your workflow. If you're curious, you'll seek it out. If not, that's fine as well.
by rendx | 2025-08-31 22:03:03+00:00
Mentioned in the article, the journals by original game designer Jason Mechner are a great piece of history, about growing up, finding one's own path. Recommend, even if you're not into game development!

https://www.jordanmechner.com/en/books/the-making-of-karatek...

https://en.wikipedia.org/wiki/Jordan_Mechner

"Reading them transports me back to that place and time. We all knew this was an exciting new industry, but I don't think we had any clue what it was going to turn into during our careers. There were no schools, no books, no theories covering what we were doing. Everyone was just figuring it out on their own. Following Jordan's creative path is a great example of how to go with your own gut instinct. It's also a great inspiration, showing how persistence and determination can lead to unexpected and wonderful results." -- Will Wright
by icegreentea2 | 2025-08-31 22:03:27+00:00
The phrasing is slightly ambiguous, but I don't think the author is saying that Rhea Silvia's son was Romulus as a fact.

I think the author is using the fact that the Roman's had a legend/myth that their founder who was the son of a Vestal priestess (even amongst other, perhaps mutually contradictory legends) as evidence that the Roman's held the Vestal priesthood in high regard.

This would be akin to the whole Washington cutting down the tree thing. It's a myth, but you could also use it as evidence that Americans for centuries admired honesty in their leaders.
by okanat | 2025-08-31 22:03:57+00:00
This is a very bad take. Rust does solve very real problems in C family languages.

The number of people I met in Rust conferences that rewriting at least parts of rather big C++ codebases weren't small either.

However, there is still big amount of code that is purely C++. Many of the older code bases still use C++03-style code too. Or they were written in the OOP design pattern golden era that requires huge reactors to adapt functional / modern code. Anything with Qt will not benefit from smart pointers. Even with Qt 6.

Rust cannot solve these problems since the challenges are not purely technical but social too.
by interstice | 2025-08-31 22:04:41+00:00
I may have built too many websites to be able to have a casual opinion, buut I find the card versions in the example much quicker to scan. The changed versions would need a lot more padding than the card example to give the same effect of the information being unrelated to each other, and in the process lose the density argument.

Conceptually to me it's a bit like framed art in a gallery, the frame is a "consider this on it's own" signal, inviting me to not try to hold everything else in the room in my head simultaneously just in case it's relevant.

My personal preference for power user interfaces wrt to the issues in the article is to still have hierarchical design with cards etc for scanning, but with less padding, smaller fonts etc. Non interface web design is a different creature entirely, and arguably information density tends to be a lot less relevant on those vs other aspects like typographic choices and copywriting.
by dragonwriter | 2025-08-31 22:05:32+00:00
No, Costco is a public company that sells annual memberships and then retails to its members at prices that are just about break even not counting the membership fee. The shareholders of the company elect the board of directors who runs the company.

REI is owned by people who pay a one-time lifetime membership fee. Those co-op members elect the board fo directors who runs the company.
by solid_fuel | 2025-08-31 22:05:33+00:00
Strong disagree here. Lambda is significantly more expensive per vCPU hour and introduces tight restrictions on your workflow and architecture, one of the most significant being maximum runtime duration.

Lambda is a decent choice when you need fast, spiky scaling for a lot simple self-contained tasks. It is a bad choice for heavy tasks like transcoding long videos, training a model, data analysis, and other compute-heavy tasks.
by nchmy | 2025-08-31 22:05:57+00:00
> the marginal cost of 2, 4 or 8 cores and 4, 8 or 16GB RAM isn't much when we buy our own hardware

this is the crux of it all. RENTING bare metal (eg from hetzner) is 10x cheaper than aws ec2. So, I can only imagine how much cheaper it is when you buy the hardware directly.
by hellcow | 2025-08-31 22:06:03+00:00
It's not about "ignoring" conflicts. In jj you're often working with stacked diffs, and merge conflicts can impact a dozen "branches" all at once. This is trivial to resolve in jj and a nightmare in git. It lets you work on them one piece at a time and upon resolving it, instantly see the conflicts fixed across all your branches at once.
by lrvick | 2025-08-31 22:06:04+00:00
Most of my early career was about writing a lot of code. Now 20 years later I pride myself in removing more code than I add to most repos. As a security engineer code is not just debt, it is risk. Especially dependencies.

Recently a colleague and I wrote a tiny linux init system that is used in production for several orgs. Under 600 lines of rust standard library, no dependencies. Boots in under 1 second. Turns out you do not need all the risk and disk i/o of systemd and a million lines of c to run an appliance like linux server.

Seriously, if you write it yourself you end up with a lot less code and systems you can understand top to bottom.
by michaelt | 2025-08-31 22:06:37+00:00
> That said, it's unlikely that the entity currently managing .io (a hedge fund if I'm not mistaken) has the legal muscle to force ICANN to keep it in the list

ICANN periodically lets anyone with $1 million create random new generic TLDs like .top and .win and .google and .hiv and .amazon and .zip - it's pretty clear there aren't any real rules or standards for TLDs apart from having money.

Why should ICANN break things for .io and its users, when they could instead keep things working, and extract $1M from a hedge fund, at the same time?
by 9rx | 2025-08-31 22:06:54+00:00
The name you are looking for is communalism, not communism.

You can tell we're not talking about communism because the previous commenter said "economic system", whereas the whole concept of an economic system vanishes with communism. It does not imagine an economic system would serve a purpose when scarcity is no longer a constraint. Hence the whole no state, money, or class thing.

You, yourself, literally wrote the original description of what we are talking about. How did you manage to end up so confused?

> Did you notice how communism was always about central control with only superficial or absolutely no elections?

And no. That sounds like you are thinking of a dictatorship. Probably a dictatorship at the hands of a political party that includes "Communist" in the name, granted, but thinking of that as communism is like thinking the Democratic People's Republic of Korea is democratic.

Communism is science fiction that is imagined on the same basic premise as Star Trek. It is not about central control. As before, it rejects the idea that a central control (the state) would even remain. Marx and Engels hypothesized that the proletariat would have to temporarily seize control from the capitalist elite in order to usher in communism, but even if you somehow managed to confuse communism with their work, that isn't really central control either. What they pictured is still closer to being a democracy, except one that that excludes the bourgeoisie, similar to how women were historically excluded from democracy.