MurphyA/hacker-news huggingface dataset:
by godelski | 2025-12-13 01:28:17+00:00
> If you were trying to keep your country safe, wouldn’t you like the ability to infiltrate any major cloud, SaaS app, social media platform, bank, government, VPN/internal network, and OS?

No!

In fact, the opposite!

If I have keys then so do my enemies! I want that shit locked down as much as possible because I don't want others infiltrating.

Personally if I was the president I would direct the NSA to pen test our own networks and work with companies to resolve any issues. I would make this a major priority in fact. I don't want them to be vulnerable or subject to blackmail.

Is it annoying I can't get in and watch them? Sure. But you can't have both.

Everyone is adults here and get trust. Plus, I'm the government. If I have legitimate belief they're acting illegally I have the power to get in anyways. It's just shower, requiring courts who keep my power in check
by array_key_first | 2025-12-13 01:28:25+00:00
Yes, as I've stated, the big stuff is new Web stuff.

When I say traditional client-server applications, I mean the type of stuff like X or IPC - the stuff before the Web.

> A web application should either be server-generated HTML with a little JS sprinkled in, or a client-side application with traditional RPC-like calls when necessary.

There's really no reason it "should" be either one or the other because BOTH have huge drawbacks.

The problem with the first approach (SSR with JS sprinkled) is that particular interactions become very, very hard. Think, for example, a node editor. Why would we have a node editor? We're actually doing this at work right now, building out a node editor for report writing. We're 95% SSR.

Turns out, super duper hard to do with this approach. Because it's so heavily client-side interactive so you need lots and lots of sync points, and ultimately the SERVER will be the one generating the report.

But actually, the client-side approach isn't very good either. Okay, maybe we just serialize the entire node graph and sent it over the pipe once, and then save it now and again. But what if we want to preview what the output is going to look like in real-time? Now this is really, really hard - because we need to incrementally serialize the node graph and send it to the server, generate a bit of report, and get it back, OR we just redo the report generation on the front-end with some front-loaded data - in which case our "preview" isn't a preview at all, it's a recreation.

The solution here is, actually, a chatty protocol. This is the type of thing that's super common and trivial in desktop applications - it's what gives them superpowers. But it's so rare to see on the Web.
by ssl-3 | 2025-12-13 01:30:02+00:00
> Buy a cheap smart TV and run it in "store mode".

They aren't "cheap," but just last week I unboxed and tested 5 different Samsung S95F televisions of 4 different sizes.

One of the functions that each of them promised to perform when set to "retail mode" was to reset the picture settings every 5 minutes.

That makes retail mode a non-starter for anyone who seeks any resemblance of accuracy in their video system, at least on these particular televisions.
Show HN: I made an LLM confessional booth, be a priest and forgive LLMs mistakes
by carsoon | 2025-12-13 01:32:15+00:00
I made an simulation where you get to be a priest in a confessional booth and different LLMs will confess mistakes they made in moral situations and you get to forgive them.

Inspired by a comment on another article Related: Training LLMS For Honesty https://news.ycombinator.com/item?id=46242795
by fao_ | 2025-12-13 01:32:24+00:00
My wife in the USA had semi-anonymous texts send to her personal over a course of 2 years. They included her home address, her mother's home address with a picture of the home, and they stated that they would kill her and anyone she loved.

She never saw justice for it. The police said there was nothing they could do, despite having the phone number it came from, because it was across state lines.

The texts stop, and we suspect that it coincided with a specific person who went to jail for a year or so for unrelated offences around the time that the texts stopped.

That person is still out there.
by fennecbutt | 2025-12-13 01:33:13+00:00
I mean as a gay man who doesn't want kids I still think that it's unfair for men to have zero reproductive rights beyond "Well don't have sex then". Women aren't told the same thing.

I believe the law should be changed; if an unintended child is unwanted by the Father and the mother does not want to get an abortion (which is her choice) then the Father has the right to refuse contact with the child as well as refusing to support the child.

Cause straight men: at the moment, as soon as you stick it in you have zero choice, zero rights, even if you're using protection and there's been no agreement that you're doing it for fun or for reproductive purposes. But then none of you seem to care about it so...?
by jpgvm | 2025-12-13 01:33:33+00:00
They are indirectly.

DDR4 fab capacity should have stayed constant as DDR5 was brought online.

The mechanism that powers that is usually the top tier brands selling their used fab equipment to China who then keep mass producing the legacy DRAM while fabs in Korea are converted to manufacture the new standard.

Instead all of those machines have been warehoused because Korean firms fear US sanctions/punitive tarifs if they were to offload that equipment to China.

So what has happened is DDR4 capacity has actually shrunk massively when it shouldn't have, DDR5 capacity was only barely meeting demand and then huge deals were cut that cornered the market.

Tarifs wouldn't help DDR5 a huge amount but without them DDR4 would be dirt cheap right now.
by chickenhun | 2025-12-13 01:33:38+00:00
Thank you! <3 On shooting: exactly that, it is so foreign to them, I doubt they could grasp the concept, but they can understand the loop of: pull lever -> audiovisual feedback of shooting with monster disappearing -> reward. Biting or scratching a surface as a form of attack may work better, but the audiovisual + reward response should help them to understand at what visual signals to pull the lever to make it go boom.
Ask HN: Is this a sane way to expose distributed state in Rust?
by asdfghjqwertyu | 2025-12-13 01:33:54+00:00
Hi HN,

I’m experimenting with a Rust runtime that exposes replicated, consensus-backed state by advertising a *procedural macro*. Client crates invoke the macro and get a typed API; the runtime owns both the protocol and the codegen.

At a high level, the DB cell:

* Handles RPC (Upsert / Get / Remove) * Coordinates macro expansion for client APIs * Stores opaque zero-copy blobs (`rkyv`)

Here’s the core of the DB side:

```rust use cell_sdk::; use cell_model::macro_coordination::; use std::pin::Pin;

#[protein] pub struct Upsert { pub key: u64, pub kind: String, pub blob: Vec<u8>, }

#[protein] pub struct Get { pub key: u64, pub kind: String }

#[protein] pub struct Row { pub blob: Option<Vec<u8>> }

#[service] #[derive(Clone)] struct DbService { state: Arc<RwLock<HashMap<(u64, String), Vec<u8>>>>, }

#[handler] impl DbService { async fn upsert(&self, u: Upsert) -> Result<bool> { self.state.write().await.insert((u.key, u.kind), u.blob); Ok(true) } async fn get(&self, g: Get) -> Result<Row> { let val = self.state.read().await.get(&(g.key, g.kind)).cloned(); Ok(Row { blob: val }) } async fn remove(&self, k: u64, kind: String) -> Result<bool> { Ok(self.state.write().await.remove(&(k, kind)).is_some()) } }

fn expand_table(ctx: &ExpansionContext) -> Pin<Box<dyn Future<Output=Result<String>> + Send + '_>> { Box::pin(async move { let struct_name = &ctx.struct_name; let pk = ctx.fields.first().unwrap().0.clone();

Ok(format!(r#" pub struct {struct_name}Table {{ synapse: ::cell_sdk::Synapse }} impl {struct_name}Table {{ pub async fn connect() -> ::anyhow::Result<Self> {{ Ok(Self {{ synapse: ::cell_sdk::Synapse::grow("db").await? }}) }} pub async fn save(&self, row: {struct_name}) -> ::anyhow::Result<bool> {{ let bytes = ::cell_sdk::rkyv::to_bytes::<_,1024>(&row)?.into_vec(); let req = DbProtocol::Upsert {{ key: row.{pk}, kind: "{struct_name}".into(), blob: bytes, }}; self.synapse.fire(&req).await }} }} "#)) })

}

#[tokio::main] async fn main() -> Result<()> { let db = DbService { state: Default::default() };

const macros = vec![MacroInfo { name: "table".into(), kind: MacroKind::Attribute, description: "distributed table".into(), dependencies: vec![], }]; Runtime::ignite_with_coordination( move |req| db.dispatch(req), "db", macros, expand_table, ).await

} ```

consumer

```rust use cell_sdk::;

#[expand("db", "table")] #[derive(Archive, Serialize, Clone, Debug)] pub struct Order { pub order_id: u64, pub user_id: u64, pub amount: u64, }

#[tokio::main] async fn main() -> anyhow::Result<()> { let orders = OrderTable::connect().await?;

orders.save(Order { order_id: 42, user_id: 7, amount: 1000 }).await?; let o = orders.get(42).await?.unwrap(); println!("loaded {o:?}"); orders.remove(42).await?; Ok(())

} ```

The question: *does letting a distributed service own both its protocol and client-side macro make sense, or is this hiding too much complexity?* And: Would this actually be useful for enterprise? Would you use it?

Thanks — looking for design-level feedback, not users.
by vlovich123 | 2025-12-13 01:34:06+00:00
One classic problem in all ML is ensuring the benchmark is representative and that the algorithm isn’t overfitting the benchmark.

This remains an open problem for LLMs - we don’t have true AGI benchmarks and the LLMs are frequently learning the benchmark problems without actually necessarily getting that much better in real world. Gemini 3 has been hailed precisely because it’s delivered huge gains across the board that aren’t overfitting to benchmarks.
by FieryMechanic | 2025-12-13 01:36:56+00:00
> You are kind of ranting on general trends here, not to mention misrepresenting what I said which I cannot see as arguing in good faith (never said that big companies using something makes it good; I said that they did studies -- that's absolutely very much not the same as many other types of cargo culting that they do which I'll agree is never credible).

I didn't misrepresent anything you said. You misunderstood what I said. I said companies will claim all sorts of things and the reality behind the scenes is very different. Having a study is one form of making claims. What works at one company may not work at another.

> I am not pretending to not understanding anything as well by the way,

Yes you were. What I said was plainly obvious.

CV driven development is a well known and understood phenomenon.

Technology stacks being subverted is a well known and understood phenomenon.

It is very annoying when people pretend not to understand basic idioms. It is a dishonest tactic employed by people online, I've been online now since the late 90s and have seen it done many times. You are not the first and won't be the last.

> I was trying to find objective technical disagreements and still can't find any in your reply.

I gave you them. Several in fact.

Part of engineering is understanding that resources aren't infinite and you have to make trade offs. So how resources (money, time, man power, compute) is used is technical. I make calls all the time on whether something is worth doing based on the amount of time I have.

This is often discussed on many blogs, podcast and books about software engineering.

What you want to do is narrow discussion down to the sort of discussion "well they found they found X more bugs using Y technique". Ignoring the fact that they may had to spend a huge amount of man power to rebuild everything and created many more bugs in the process.

> I am seeing a bit of curmudgeon-ing on several places though, so I am bowing out.

Yes I am disillusioned with the industry after working in it for 20 years. That doesn't invalidate what I say.
by fennecbutt | 2025-12-13 01:37:25+00:00
>you got someone pregnant

And this is the problem, your exact phrasing. You get her pregnant. A man gets a woman pregnant. It's putting all the onus on the man in an activity that requires two consenting participants (rape is obviously excluded for this argument).

It's kinda sexist because it diminishes the responsibility of the woman involved and strengthens the responsibility of the man involved, both bad things and everpresent through many aspects of society.
by array_key_first | 2025-12-13 01:38:06+00:00
Communicating over HTTP comes with pretty much as many physical boundaries as possible. The main problem, and power, of APIs is their inflexibility. By their design, and even the design of HTTP itself, they are difficult to change over time. They're interfaces, with defined inputs and outputs.

Say I want to draw a box which has many checkboxes - like a multi-select. A very, very simple, but powerful, widget. In most Web applications, this widget is incredibly hard to develop.

Why is that? Well first we need to get the data for the box, and ideally just this particular page of the box, if it's paginated. So we have to use an API. But the API is going to come with so much baggage - we only need identifiers really, since we're just checking a checkbox. But what API endpoint is going to return a list of just identifiers? Maybe some RESTful APIs, but not most.

Okay okay, so we get a bunch of data and then throw away most of it. Whatever. But oh no - we don't want this multi-select to be split by logical objects, no, we have a different categorization criteria. So then we rope in another API, or maybe a few more, and we then group all the stuff together and try to splice it up ourselves. This is a lot of code, yes, and horribly frail. The realization strikes that we're essentially doing SQL JOIN and GROUP BY in JS.

Okay, so we'll build an API. Oh no you won't. You can't just build an API, it's an interface. What, you're going to write an API for your one-off multi-select? But what if someone else needs it? What about documentation? Versioning? I mean, is this even RESTful? Sure doesn't look like it. This is spaghetti code.

Sigh. Okay, just use the 5 API endpoints and recreate a small database engine on the frontend, who cares.

Or, alternative: you just draw the multi-select. When you need to lazily update it, you just update it. Like you were writing a Qt application and not a web application. Layers and layers of complexity and friction just disappear.
by badlogic | 2025-12-13 01:39:07+00:00
Create a markdown file, for each SKILL.md of the skills you want to use, put the frontmatter in that single markdown file along with the fulk path to the SKILL.md file. On session start, tell Gemini to read that file. If you put it in your AGENTS.md, you don't have to instruct Gemini. And if you have your skills in a known folder, let Gemini write a small scripts that generates that markdown file for you.
by fao_ | 2025-12-13 01:39:23+00:00
I think the issue here isn't "freedom of speech", its that people who claim to want "freedom for speech" are either using it as a shield to say vile things to other people, or they feel that "freedom of speech" is the only thing one needs to guard against fascism.

The resulting difficulty is that the former is demonstrably true, and the former is demonstrably false.
by Duanemclemore | 2025-12-13 01:39:48+00:00
It's actually pretty boring. When I say "accent color" I mean a single pixel border around the selected container. The waybar is text, and the text is all bright green on a black background. The active desktop has a single pixel magenta stroke around it. I've thought about turning that into just magenta text as well. Every window element I can make #000000 black without making things more confusing is.

Default text in the terminal is green, and if I select it with a mouse it's magenta. It's more of a "terminal" vibe than the win 3.1 Fluorescent vibe. I said that because they share garish colors.

Also, I'm always on the lookout for even more minimalist graphics to use in my config, if anyone has hyper-minimal things they like about theirs...
by DoctorOetker | 2025-12-13 01:40:01+00:00
It's interesting that you place it 10 or 20 years from now, given that MetaMath's initial release was... 20 years ago!

So it's not really about the planets not being in the right positions yet.

The roman empire lasted for centuries. If they wanted to do rigorous science, they could have built cars, helicopters, ... But they didn't (in Rome, do as the Romans do).

This is not about the planets not being in the right position, but about Romans in Rome.
by rsync | 2025-12-13 01:42:26+00:00
"... Thunderbolt is great for peripherals, but as a semi-permanent interconnect, I have worries over the port's physical stability ..."

Thunderbolt as a server interconnect displeases me aesthetically but my conclusion is the opposite of yours:

If the systems are locked into place as servers in a rack the movements and stresses on the cable are much lower than when it is used as a peripheral interconnect for a desktop or laptop, yes ?
by saghm | 2025-12-13 01:43:05+00:00
My most recent mini-adventure with sudo was on the Steam Deck; with OS updates, everything (or at least most?) of what's outside of your home directory is replaced. (In fact, you have to manually opt into being able to write to those directories at all, e.g. to use the system package manager instead of flatpak, by running `sudo steamos-readonly disable`). There are a couple sudo settings I change from the defaults, and because `/etc/sudoers and `/etc/sudoers.d/` (as in the entire directory) were restored to the base versions, my custom settings don't get preserved when updates occur. However, I was surprised to find out that using `visudo` to try to update the settings wasn't actually causing the settings I changed to take effect, which I eventually tracked down to some extra configs getting shipped by the base system in `/etc/sudoers.d`. I looked up what the precedence rules are for sudo rules, and apparently the rule is that anything in `/etc/sudoers.d/` will override `/etc/sudoers`, and the files in `/etc/sudoers.d/` are evaluated in lexigraphical order.

That's how I got where I am today, with a file called `zzz` that I copy into `/etc/sudoers.d/` every time there's a system update.
by fragmede | 2025-12-13 01:43:28+00:00
It doesn't even hold true on Earth! Nevermind other planets being of different sizes making that number change, that equation doesn't account for the atmosphere and air resistance from that. If we drop a feather that isn't crumpled up, it'll float down gently at anything but 9.8m/s². In sports, air resistance of different balls is enough that how fast something drops is also not exactly 9.8m/s², which is why peak athlete skills often don't transfer between sports. So, as a model, when we ignore air resistance it's good enough, a lot of the time, but sometimes it's not a good model because we do need to care about air resistance.
by qouteall | 2025-12-13 01:43:29+00:00
Goodhart's law: When a measure becomes a target, it ceases to be a good measure.

AI companies have high incentive to make score go up. They may employ human to write similar-to-benchmark training data to hack benchmark (while not directly train on test).

Throwing your hard problem at work to LLM is a better metric than benchmarks.
by dghlsakjg | 2025-12-13 01:43:56+00:00
Some numbers to drive your point home:

The original base MacBook Air sold for $1799 in 2008. The inflation adjusted price is $2715.

The current base model is $999, and literally better in every way except thickness on one edge.

If we constrain ourselves to just 15 years. The $999 MBA was released 15 years ago ($1488 in real dollars). The list price has remained the same for the base model, with the exception of when they sold the discontinued 11” MBAs for $899.

It’s actually kind of wild how much better and cheaper computers have gotten.
by 6510 | 2025-12-13 01:45:27+00:00
There use to be a mythological creature on irc from south America (sorry forgot the specifics) who was both a 10x dev and a 10x mathematician. One day he showed a picture of his computer. It was a low end laptop with a tft monitor and an external keyboard because the screen and the keyboard didn't work. It explained everything, the machine was just good enough to write code, do math, read stack exchange and lurk irc with his ghosts.
by fao_ | 2025-12-13 01:46:23+00:00
As a minority, I do not hold the same view. I understand your position, however, my personhood is often demonstrably conditional on the speech that other people spread about me and people like me. In the last decade I have seen fascist speech go unpunished and, consequently, the increased spread of the idea that I and people like me are not people, that I am simply an evil and horrible person for my genetic identity, forever tainted, an "undesirable", and a very suitable target for being marginalised and erased (often violently) from society. I have already been victim to these effects, as have my friends, and I have seen others, those with a different skin colour on top of the genetic difference, bear the effects tenfold. I have known of people murdered in the streets for simply having my genetic trait, even if it didn't hit the international news, I saw how people spoke about it online even despite the hate speech acts. That another one of us dead was a good thing.

I have also been witness to the power that physical violence inflicted upon these people has had in silencing that rhetoric and the spread of those ideas. I have seen how fascists go into hiding when they feel they will be the victims of violence, and I have seen how easy it is to break apart these networks by simply restricting the speech of a handful of people, or removing them from the platform.

I very much do feel, that either I am in a concentration camp in the next ten years, or these people are imprisoned. Prison is the lighter sentence for fascist rhetoric, and represent sane and sensible consequences for suggesting that an entire group of people who hold no specific ideology are evil. Remember that a war was fought, and the alternative to imprisonment for fascist rhetoric is letting it grow so large that the only inevitable solution is a war where people are murdered for their fascist rhetoric.

Before comparing the third paragraph with the first, please remember, that these people can simply choose to not say vile things about people with my genetics. If they do not wish to go to prison, maybe they should not make wide fascistic statements about people with my genetics being murderers and pedophiles — both claims that are starkly in opposition to the evidence. I am 60% more likely to be sexually assaulted compared to the baseline, cisgender female population. I cannot change my genetics, nor would I want to if I had the option, and my genetics do not represent my ideology or how I behave or act in public or private.
by uselesswords | 2025-12-13 01:46:25+00:00
Technical point here but opinions are not illegal to have.

Besides that your point is missing the fact that you are dealing with outside services that provide a contract for their usage (GPS, GSM). You should be free to program your own devices but if you use an external service, then yes they can specify how you use their service. Those are contractual obligations. Cars on the road have clear safety risks and those are legal obligations. None of those obligations should govern what you do with your device until your device interacts with other people and/or services.