MurphyA/hacker-news huggingface dataset:
by clivestaples | 2025-12-15 15:43:16+00:00
I got shingles-ish rash after sitting in an outdoor jacuzzi in Salinas, California. Visited the urgent care and the Standard-trained doctor of immigrant farm laborers said it was related to the pesticides. Said he lost both parents in their 40s and suspects it was the indiscriminate spraying from the air in the 70/80/90s. Eye-opening and thought-provoking.
by gpderetta | 2025-12-15 15:43:16+00:00
It is not a cast. std::pair<const std::string, ...> and std::pair<std::string,...> are different types, although there is an implicit conversion. So a temporary is implicitly created and bound to the const reference. So not only there is a copy, you have a reference to an object that is destroyed at end of scope when you might expect it to live further.
by xpe | 2025-12-15 15:43:19+00:00
Presumably this is well-known among people that already know about this.

P.S. In the hopes of making this more than just a sarcastic comment, the question of "How do people bootstrap knowledge?" is kind of interesting. [1]

> To tackle a hard problem, it is often wise to reuse and recombine existing knowledge. Such an ability to bootstrap enables us to grow rich mental concepts despite limited cognitive resources. Here we present a computational model of conceptual bootstrapping. This model uses a dynamic conceptual repertoire that can cache and later reuse elements of earlier insights in principled ways, modelling learning as a series of compositional generalizations. This model predicts systematically different learned concepts when the same evidence is processed in different orders, without any extra assumptions about previous beliefs or background knowledge. Across four behavioural experiments (total n = 570), we demonstrate strong curriculum-order and conceptual garden-pathing effects that closely resemble our model predictions and differ from those of alternative accounts. Taken together, this work offers a computational account of how past experiences shape future conceptual discoveries and showcases the importance of curriculum design in human inductive concept inferences.

[1]: https://www.nature.com/articles/s41562-023-01719-1
by reactordev | 2025-12-15 15:43:37+00:00
I learned this a decade ago when I learned that a lot of recycling lots were bought by China and other countries who are no longer buying our recyclables. Probably for the reasons you mentioned. Metals are about the only thing worth recycling. Everything else, the transportation costs out weigh the economics.

That said, there are smaller plastic filament recyclers that are making their way onto the market that I’m super keen on. Being able to take plastics, shred them up, put them in this extruder and make a new filament spool for printing is awesome.
by bruce511 | 2025-12-15 15:44:08+00:00
That's a different tax. Which speaks to my original point that the term "capital gains tax" is a thing, and seems to be misunderstood.

Tax on property is a completely different tax which works in a different way, and has a different name. A new tax on possession of robots could completely be a thing, but it just wouldn't be called a "capitol gains" tax.
by iamnothere | 2025-12-15 15:44:38+00:00
For what it’s worth, I agree with you, and my partner has a similar outlook. There are people in the world who prefer to live life from a perspective of truth seeking and open inquiry. Don’t let anyone gaslight you into thinking that this is a flaw or that you should fundamentally change yourself for the sake of the average person!

It’s important to be able to navigate these conversations professionally, but there’s no reason to be overly close with people who you don’t naturally mesh with.
by AndrewKemendo | 2025-12-15 15:44:42+00:00
Is that an option I’m not aware of?

Do chinese police even carry firearms? edit: most don’t (https://worldpopulationreview.com/country-rankings/countries...)

So, given that, I would choose 100/100 times to deal with Chinese police over the US ICE/police murder squads if I had an option
by Permit | 2025-12-15 15:45:16+00:00
> You should consider dropping that instinct.

This is the reason we have people mistakenly repeating the conclusion that AI consumes huge amounts of water comparable to that of entire cities.

If you make any other assumption than "I don't know what's happening here and need to learn more" you'll constantly be making these kind of errors. You don't have to have an opinion on every topic.

Edit: By the way, I also don't think we should trust big companies indiscriminately. Like, we could have a system for pesticide approval that errs on the side of caution: We only permit pesticides for which there is undisputed evidence that the chemicals do not cause problems for humans/animals/other plants etc.
by cruffle_duffle | 2025-12-15 15:45:58+00:00
I never understood the arguments against using using globally unique ids. For example how it somehow messes up indexes. I’m not a CS major but those are typically b-trees are they not? If you have a primary key whose generation is truly random such that each number is equally likely, then that b-tree is always going to be balanced.

Yes there are different flavors of generating them with their own pros and cons, but at the end of the day it’s just so much more elegant than some auto incrementing crap your database creates. But that is just semantic, you can always change the uuid algorithm for future keys. And honestly if you treat the uuid as some opaque entity (which you should), why not just pick the random one?

And I just thought of the argument that “but what if you want to sort the uuid…” say it’s used for a list of stories or something? Well, again… if you treat the uuid as opaque why would you sort it? You should be sorting on some other field like the date field or title or something. UUIDs are opaque, damn it. You don’t sort opaque data. “Well they get clustered weird” say people. Why are you clustering on a random opaque key? If you need certain data to be clustered, then do it on the right key (user_id field did your data was to be clustered by user, say)

Letting the client generate the primary keys is really liberating. Not having to care about PK collisions or leaking information via auto incrementing numbers is great!

In my opinion uuid isn’t used enough!
by mengmota | 2025-12-15 15:46:07+00:00
I've analyzed the strengths of various tools like Cursor, AmpCode, Droid, ClaudeCode, and OpenCode, along with all their models, by burning through $24,000 worth of tokens.

I've implemented Claude Code's Async Agent, AmpCode's Model Orchestration, and Droid's razor-sharp precision into a single OpenCode plugin.

I'm out of money now so I can't run benchmarks, but if I did, I bet they'd come out pretty good lol.

Give it a try and you'll feel the difference. Keep it a secret from your colleagues and just become that one person who's insanely good at coding.
by jasonkester | 2025-12-15 15:46:34+00:00
Rather than taking their lead and improving the product, they just sat there with the exact same product for like 10+ years. It was outrageous.

I think that this is actually the only viable strategy for a hardware product company in the current world.

As soon as your product is successful, it will be cloned by dozens of Chinese companies and dumped on the market everywhere. Any update you make from there on out will immediately be folded into all those products selling for 10% what you do. In a couple years, they'll all be better than yours, and still way cheaper.

So you have to do the Roomba thing or the GoPro thing, where you iterate behind the scenes until your thing is amazing, release it with a big Hollywood launch, get it turned into the noun and verb for your product category and the action that it does.

But then you have to do what those companies didn't do: Fire everybody and rake in as much cash as possible before the inevitable flood of clones drowns you.

I have a few really good hardware ideas, but I don't believe I could ever market them fast enough and far enough to make it worth spending the R&D to make them happen.
by coldpie | 2025-12-15 15:46:51+00:00
Opposing one purchaser does not imply supporting another purchaser. I don't know the details of this specific transaction, but I would guess the Chinese buyer does not have the same market power that Amazon does, so isn't running afoul of antitrust law. It's also possible Warren is opposed to this purchase, too, but no longer has the influence to stop it.
by teekert | 2025-12-15 15:46:56+00:00
Reminds me a bit of the game Retaliator, when I was 12 a class mate earned himself a night of "pick your own time to go to bed at camp" because he could show the teacher how to land. [0, the landing is at the very end]. I think at the time nobody knew what key to hit to deploy the landing gear (and flaps, though I think you could land without flaps). And since it was all copied stuff there was no book, no internet...

[0] https://www.youtube.com/watch?v=JYwcrxbhiLs
by lynndotpy | 2025-12-15 15:46:57+00:00
I'm definitely in the "ChatGPT writes like me" experience. I am a big fan of lists, and of using formatting to make it all legible on a short skim. I'm a big fan of dyslexia-friendly writing too, even though I am not dyslexic myslef.

I can't blame others though- I was looking at notes I wrote in 2019 and even that gave me a flavor of looking like a ChatGPT wrote it. I use the word "delve" and "not just X but also Y often, according to my Obsidian. I've taken to inserting the occasional spelling mistake or Unorthodox Patterns of Writing(tm), even when I would not otherwise.

It's a lot easier to get LLMs to adhere to good writing guides than it is to get them to create something informative and useful. I like to think my notes and writing are informative and useful.
by palmotea | 2025-12-15 15:47:06+00:00
> A manual should never be needed.

That's going too far.

Also, we're talking about the 8-bit era: 1) technical limits prevented a lot of in-game exposition that you could do now and 2) before the internet, people had fewer options for reading material. I read every manual for every NES and SNES game I ever had, multiple times. If I was into a game my options were limited to 1) play it, 2) read the manual if I couldn't play it (e.g. if I wasn't at home or not allowed to take over the TV to play).
by scottlamb | 2025-12-15 15:47:14+00:00
> It also seems if you were using io_uring and used O_DSYNC you wouldn't need to use IOSQE_IO_LINK right? Even if you were doing primary and secondary log file writes, they are to different files so it doesn't matter if they race.

I think there are a lot of reasons to use this flag besides a write()+f(data)sync() sequence:

* If you're putting something in a write-ahead log then applying it to the primary storage, you want it to be fully committed to the write-ahead log before you start changing the primary storage, so if there's a crash halfway through the primary storage change you can use the log to get to a consistent state (via undo or redo).

* If you're trying to atomically replace a file via the rename-a-temporary-file-into-place trick, you can submit the whole operation to the ring at once, but you'd want to use `IOSQE_IO_LINK` to ensure the temporary file is fully written/synced before the rename happens.

btw, a clarification about my earlier comment: `O_SYNC` (no `D`) should be equivalent to calling `fsync` after every write. `O_DSYNC` should be equivalent to calling the weaker `fdatasync` after every write. The difference is the metadata stored in the inode.
Show HN: Sqlit – A lazygit-style TUI for SQL databases
by MaxTeabag | 2025-12-15 15:47:14+00:00
I work mostly in the terminal but found myself constantly switching to bloated GUIs like SSMS only for the simple task of browsing tables and run queries. And I didn't find Existing SQL TUIs intuitive, having to read documentation to learn keybindings and CLI flags to connect. Given I had recently switched to linux, I found myself using vs code's sql database extension. Something was awfully wrong.

I wanted something like lazygit for databases – run it, connect, and query and frankly just make it enjoyable to access data.

Sqlit is a keyboard-driven SQL TUI with: - Context-based keybindings (always visible) - Neovim-like interface with normal and insert mode for query editing - Browse databases, tables, views, stored procedures - Adapters for SQL Server, SQLite, PostgreSQL, Turso & more - SSH tunneling support - Themes (Tokyo Night, Nord, Gruvbox etc.) Inspired by lazygit, neovim and lazysql. Built with Python/Textual.

Feedback welcome – especially on which adapters to prioritize next. My vision of sqlit is to make a tool that makes it easy to connect and query data, and to do that, and that thing only, really well.

https://github.com/Maxteabag/sqlit
by pornel | 2025-12-15 15:47:39+00:00
Maybe instead of ad-hoc fear-driven interventions in the market when Chinese companies do too well (TikTok), US should have some general data protection laws, and not allow making surveillance devices that are locked-down and serve their corporate overlords?

Amazon isn't on your side. They would have sold this access to China if they could make a buck on it.
by pavel_lishin | 2025-12-15 15:47:41+00:00
If you want to save yourself six minutes' of video, this is about https://alpr.watch/ and their new feature that can alert you by email if your local municipal officials are going to be discussing Flock in upcoming meetings, based on published meeting agendas.

The video also links you to a wiki with some nice counter-arguments to the standard pro-Flock arguments: https://consumerrights.wiki/w/Common_Questions,_Arguments,_%...

I went ahead and signed up; I live in a pretty dense part of the US, we'll see how many alerts I get in the next year.
by butlike | 2025-12-15 15:47:58+00:00
This seems like a ridiculous point. Basically all software doesn't allow downgrades. Sure, if something happens during install, there's modern safeguards to prevent bricking your device, but upgrading software is usually a one-way street. It's why major companies have tiered rollouts of new features, beta programs, and developer previews.

To a corollary: Would you trust a software development team who doesn't trust their feature enhancements enough to where they provide an option to roll back the software? It would be like a clothing designer saying "Actually, buy last years runway, this year's might have some issues..."

As a user, I get 'undo' functionality because I'm playing in the sandbox. I trust that the sandbox is sound if I'm able to use it, and trust it will get ever-better as time goes on.
by phantasmish | 2025-12-15 15:48:12+00:00
My grandpa’s greatest gaming achievement was beating Top Gun: The Second Mission on the NES, in the ‘90s. Perhaps his training as a B-17 tail gunner gave him an advantage, lol (he never fought, war ended after he finished training but before he saw a combat sortie). He was better at the game than any of his grandkids, hahaha.

(I’m pretty sure it was the second mission, it was the one with the space shuttle launch or whatever at the end)
by ghaff | 2025-12-15 15:48:30+00:00
I don't totally disagree. On the other hand, based on the MOOC I took, had I been going in literally cold (as in college, new experiences, this is my chance to dive into CS and programming), I'd have been completely lost in a way that wouldn't have been the case in other engineering disciplines.

Now, I'm sure some would argue "tough." What are you doing at MIT then? And certainly, there are SO many opportunities these days to get some grounding in a way that may not be as readily possible with chemistry much less nuclear engineering for example. But it is something I think about now and then.
Ask HN: Is building a calm, non-gamified learning app a mistake?
by hussein-khalil | 2025-12-15 15:48:34+00:00
I’ve been working on a small language learning app as a solo developer.

I intentionally avoided gamification, streaks, subscriptions, and engagement tricks. The goal was calm learning — fewer distractions, more focus.

I’m starting to wonder if this approach is fundamentally at odds with today’s market.

For those who’ve built or used learning tools: – Does “calm” resonate, or is it too niche? – What trade-offs have you seen when avoiding gamification?

Not here to promote — genuinely looking for perspective.
by pxc | 2025-12-15 15:49:28+00:00
Looks like on the server side this can be mitigated somewhat by the MaxStartups¹ setting for OpenSSH or equivalent behavior for other services that support SSH auth (e.g., Git forges like GitHub):

MaxStartups Specifies the maximum number of concurrent unauthenticated connections to the SSH daemon. Additional connections will be dropped until authentication succeeds or the LoginGraceTime expires for a connection. The default is 10:30:100. Alternatively, random early drop can be enabled by specifying the three colon separated values start:rate:full (e.g. "10:30:60"). sshd(8) will refuse connection attempts with a probability of rate/100 (30%) if there are currently start (10) unauthenticated connections. The probability increases linearly and all connection attempts are refused if the number of unauthenticated connections reaches full (60).

So it looks like it's possible to support ControlMaster while still somewhat hampering mass-cloning thousands of repos via SSH key without reauthenticating.

Admittedly I'd put this more in the category of making endpoint compromise easier to detect than that of actually preventing any particular theft of data or manipulation of systems. But it might still be worth doing! If it means only a few dozen or only a hundred repos get compromised before detection instead of a few thousand, that's a good thing.

Besides all that (or MaxSessions, as another user mentions), if an attacker compromises a developer laptop and can only open those connections as long as the developer is online, that's one thing. But a plaintext key that they can grab and reuse from their own box is obviously an even sweeter prize!

"The SSH key on my YubiKey is useless to attackers" is obviously the wrong way to think about this, but using a smartcard for SSH keys is still a way to avoid storing plaintext secrets. It's good hygiene.

--

https://www.man7.org/linux/man-pages/man5/sshd_config.5.html
by mytailorisrich | 2025-12-15 15:49:42+00:00
Wait until jingoistic EU nationalism emerges... we're there.

> luckily thanks to internet and social networks kids does not really develop sense of nationalism to their country as they can tell no difference between somebody from Albania, France or Niger...

That's both incorrect, younger generations do develop a strong sense of patriotism, it is even actually on the rise in Europe, and a ludicrous and very sinister rejection of culture ("few obscure traditions of their ancestors"... sounds like New China or the USSR...)

In fact, in the current international context what the article describes is the rise of a pan-European nationalism.
by aszantu | 2025-12-15 15:50:05+00:00
https://angryangels.sarah-rosenhahn.de/try-the-cemetery-of-f...

please don't hug to death, I only got 10 GB of Data

it's 1st MVP and I got a dayjob, so please be kind. Haven't put out a howto yet, but ideally you have a notebook and a pen, some memories and grief to work through.
by bruce511 | 2025-12-15 15:50:09+00:00
Correct, building an AI is an asset, which can then be rented to other businesses.

However the thread revolves around employers replacing employees with AI. Given that the number of AI creators is minimal, and the number of companies replacing employees is large, it follows that most companies replacing employees are renting AI, they did not create it.

Hence, for those companies, AI is not an asset, it is an expense.

One way of taxing those companies would be to tax AI producers based on revenue, not profits. If 50% of revenue was tax, then, the costs of AI to the end-user would go up to cover that. So revenue would "double", but half would go to govt.

I am not a tax lawyer though, but I expect such a scheme is so radically different to the current tax regime, that is has precisely zero chance of being implemented like this.
by everforward | 2025-12-15 15:50:09+00:00
> The solution is not to come up with yet another artificial identifier but to come up with better means of identification taking into account the fact that things change.

I think artificial and data-less identifiers are the better means of identification that takes into account that things change. They don't have to be the identifier you present to the world, but having them is very useful.

E.g. phone numbers are semi-common identifiers now, but phone numbers change owners for reasons outside of your control. If you use them as an internal identifier, changing them between accounts gets very messy because now you don't have an identifier for the person who used to have that phone number.

It's much cleaner and easier to adapt if each person gets an internal context-less identifier and you use their phone number to convert from their external ID/phone number to an internal ID. The old account still has an identifier, there's just no external identifier that translates to it. Likewise if you have to change your identifier scheme, you can have multiple external IDs that translate to the same internal ID (i.e. you can resolve both their old ID and their new ID to the same internal ID without insanity in the schema).
Show HN: I spent 8 months building a "Data Hub" that nobody used, so I pivoted
by aliefe04 | 2025-12-15 15:50:23+00:00
I’ll be honest. I built a platform to host datasets thinking it would be the next big thing. I spent 8 months on it. Result: 0 users. It was a ghost town.

Instead of deleting the repo and crying in a corner, I realized the only part of the app that was actually cool was the engine: It could turn any CSV upload into a queryable API in milliseconds.

So I stripped away the social features, killed the "hub" idea, and turned it into a simple utility tool for frontend devs who hate writing backend boilerplate.

It’s called Shodata. You drag a CSV, you get a REST API. That's it.

It’s running on FastAPI + DuckDB. Roast my pivot.
by sgarland | 2025-12-15 15:50:52+00:00
The implication is that you need to know the PK ahead of time so that you can insert it into other tables which reference it as an FK without waiting for it to be returned, which further implies that you don’t have FK constraints, because the DB would disallow this.

Tbf in Postgres, you can declare FKs to be deferrable, so their existence is checked at transaction commit, rather than at insertion time.

If you don’t have the DB enforcing referential integrity, you need to be extremely careful in your application logic; IME, this inevitably fails. At some point, someone writes bad code, and you get data anomalies.