MurphyA/hacker-news huggingface dataset:
by kniffy | 2025-07-19 20:08:39+00:00
I want to like matrix, but I had to give up my homeserver. For reasons that are unclear to me I was added to the matrix.org homeserver blacklist, with no communication on why or response to my asking why.

Eventually I noticed some issue with the database, it having grown many hundreds of GB (something about my users being stuck in matrix.org rooms that they're blacklisted from, I guess) so I rm -rf'd it and that's that. :\
by littlestymaar | 2025-07-19 20:09:14+00:00
I really struggle to understand the PoV of the author in his The rules themselves are unergonomical section:

> But what's the point of the rules in this case, though? Here, the ownership rules does not prevent use after free, or double free, or data races, or any other bug. It's perfectly clear to a human that this code is fine and doesn't have any actual ownership issues

I mean, of course there is an obvious ownership issue with the code above, how are the destructors supposed to be ran without freeing the Id object twice?
by forrestthewoods | 2025-07-19 20:09:26+00:00
One day I will write a blog post called “The Rust borrow checker is overrated, kinda”.

The borrow checker is certainly Rust’s claim to fame. And a critical reason why the language got popular and grew. But it’s probably not in my Top 10 favorite things about using Rust. And if Rust as it exists today existed without the borrow checker it’d be a great programming experience. Arguably even better than with the borrow checker.

Rust’s ergonomics, standardized cargo build system, crates.io ecosystem, and community community to good API design are probably my favorite things about Rust.

The borrow checker is usually fine. But does require a staunch commitment to RAII which is not fine. Rust is absolute garbage at arenas. No bumpalo doesn’t count. So Rust w/ borrow checker is not strictly better than C. A Rust without a borrow checker would probably be strictly better than C and almost C++. Rust generics are mostly good, and C++ templates are mostly bad, but I do badly wish at times that Rust just had some damn template notation.
by ranger_danger | 2025-07-19 20:09:30+00:00
I can't believe they still don't have a way to parse JSON responses automatically.

If you combine e.g. hx-post with hx-target, then it will put the text from the response into the target selector... but there is no "hx-source" to select what part of the response to use.

I'd really love to be able to set e.g. hx-source="somejsonfield" instead of having to manually handle the response with a custom function that parses/error checks the json and then sets the selector's text to the value of a json key. It could really save a lot of boilerplate code IMO.
by lousken | 2025-07-19 20:09:37+00:00
youtube has this problem, discord has this problem and many other platforms

what do those platforms do to combat child stuff? i don't like to dismiss anything but it is something all platforms and even multi billion dollar ones struggle with

eu tries to decrypt e2e chats while you can see this stuff everywhere without encryption and nothing is being done to combat this on these major platforms

as discord and whatsapp are getting shittier, i still keep it around for talking with friends, having my own server is not that hard and there are zero issues compared to main matrix.org server, just couple dollars for vle2 on ovh is sufficient
by mort96 | 2025-07-19 20:09:40+00:00
For the VM case, I'm sure I might have benefited from it, if Digital Ocean have been able to patch something live without restarting my VPS. Great. Nothing I need to care about, so I have never cared about live forking a VM. It hasn't come up in my use of VMs.

It's not a feature I miss in containers, is what I'm saying.
by colinplamondon | 2025-07-19 20:09:49+00:00
Honest question - how is that not true of those past researchers?

IE, they...

- Start with the context window of prior researchers.

- Set a goal or research direction.

- Engage in chain of thought with occasional reality-testing.

- Generate an output artifact, reviewable by those with appropriate expertise, to allow consensus reality to accept or reject their work.
by mdaniel | 2025-07-19 20:10:19+00:00
It's a misnomer, but I don't think OP invented that language, it's the word Helm uses for that flag: https://helm.sh/docs/helm/helm_install/#:~:text=the%20instal...

I believe(!) that the "rollback" that helm attempts to put back all the mutated objects, which it can - in theory - do because it maintains the previous state in the Secret objects that contain the rendered(?) and the values for the prior revision

try: for obj in manifest_objects: kubectl_apply(obj) revisions.push(manifest_objects) except: old_revision = revisions.pop() for obj in old_revision: kubectl_apply(obj)

type deal
by RubenSandwich | 2025-07-19 20:10:26+00:00
Love to see the simulator screenshot. I was the one who added simulator support for the custom LCD: https://github.com/joeycastillo/second-movement/pull/26.

There is a very active discord community around the sensor watch. Come join us; https://discord.gg/Rdd9ewREaJ. I'm currently working on adding step counting support to the sensor watch pro. (Also I'd appreciate the help in getting a low power and low computation cost step counter working, which is a bit hard when your battery budget is a CR2016.)
by ltbarcly3 | 2025-07-19 20:11:10+00:00
Haha these aren't even wtfs! the id changes or not? oh noooo, people use the id() function so much, I've literally seen it 0 times ever in production code. This is nothing like the JS wtfs where there is no way to predict what it will do, and it violates it's own patterns.

edit: to be more clear, I have run into a lot of JS wtf's trying to write code for work. you just run into bugs all the time where JS doesn't do anything like what would be the obvious thing to do, or the thing that works 99.99% of the time fails depending on the value of the string being 'magic'. with Python I rarely if ever learn some bizarre arcane thing accidentally because it almost always behaves as expected. If you think there's an equivalence here you are just a JS fanboy, JS was a language that evolved largely because of hacks vendors put in and those insane hacks got standardized because it was too late, despite being insane. Python was specifically and carefully designed to minimize unexpected behavior.
by krick | 2025-07-19 20:11:34+00:00
It would be great if it was impractical, but I still think it has to be made illegal. I think it is not only "bad" because it's bad for Valve of whoever wants to sell or buy these games, this is "bad" on its own, because it is simply another elaborate form of blackmail. It is as close as it gets to violence without actually beating one up: you are forced to do something not because you are required by law or by nature, but because I want you do that, and I have power over you. This isn't a unique situation in that sense, of course, this pattern appears a lot in life. This one is unique only in that sense that it targets a very narrow bottleneck. If you have power to influence a payment system, and it has legal right to choose to write regulations like that, then you have power over virtually anyone and everyone. Lobbying a policy clause for Mastercard is basically as good (or maybe even better) than lobbying a law. Which, yes, is a problem on its own, but this problem is rather "an unfortunate situation" than a malicious act.

Also, on the matter of the latter problem — fixing that is much easier said than done. Cryptocurrencies in a way were an attempt to fix that, but governments around the world do not want this problem to be fixed. And of course they don't. The field is highly regulated, because, as I've said, having control over the payment network is not that very much different from having a physical army to physically beat you up.

As an aside, I was especially surprised by:

> We see this at work with hosting.

Do we, though? It's another topic of course, but I actually share the sentiment that the current trend is the opposite one: good old days of the Free Web are gone, and the reality is that in the days of Gmail (and other major mail providers), Cloudflare (and other major CDNs) the Internet is inherently not a decentralized structure anymore. It takes a few powerful friends to reach an agreement with each other, and everyone else has to follow.

So, anyway, what I had in mind was exactly that:

> to regulate payment processors like common carriers and require them to serve everyone equally regardless

But, as I've said, I don't quite see how to draw the line here. After all, it would be somewhat unfair to payment networks to trip them from making any choices. Both because formally they are just a business, not a commodity (which may actually be the root of the problem, I think), and they should have some right to choose how they want to operate; and also because different customers and products objectively carry different risks. So they have to be able to produce some policies, these policies just have to… to be restricted to what's necessary somehow.
by 9dev | 2025-07-19 20:11:36+00:00
I have wasted enough time caressing Linux servers to accommodate for different PHP versions that I know what good containers can do. An application gets tested, built, and bundled with all its system dependencies, in the CI; then pushed to the registry, deployed to the server. All automatic. Zero downtime. No manual software installation on the server. No server update downtimes. No subtle environment mismatches. No forgotten dependencies.

I fail to see the churn and destruction. Done well, you decouple the node from the application, even, and end up with raw compute that you can run multiple apps on.
by umanwizard | 2025-07-19 20:11:42+00:00
The whole point is that `Id` doesn't have a destructor (it's purely stack-allocated); that is, conceptually it _could_ be `Copy`.

A more precise way to phrase what he's getting at would be something like "all types that _can_ implement `Copy` should do so automatically unless you opt out", which is not a crazy thing to want, but also not very important (the ergonomic effect of this papercut is pretty close to zero).
by strathmeyer | 2025-07-19 20:11:54+00:00
Whenever someone charges me a smoking fee I assume they are just saying they don't want me staying there. I'll find some place either much better or much shittier that is appreciative of my business. The Hilton Garden Inn in Princeton NJ has charged both my and my wife a smoking fee on different dates because we were hiking. In Denver you aren't allowed to smoke on the streets, there's no terraces in the hotel, so we were charged a smoking fee after hot boxing our car. They aren't cleaning the room. It's ten cents of spray and an open window at most. I've stayed at hotels where they Febreeze every room daily. What a scumbag thing to do to your customers.
by asmor | 2025-07-19 20:12:31+00:00
It was common practice at some point, and keeps being taught, but it's no longer recommended even for IM by most medical associations (unless your injection site is considered high risk; but that pretty much is never the case for SubQ 4-6mm with 4-6mm needles).

I went down this rabbit hole after being handed a 100 pack of insulin needles and an estradiol vial with zero instruction - seemed irresponsible at first, but it turns out it's pretty hard to mess up.
by mejutoco | 2025-07-19 20:12:44+00:00
Very interesting point. I did not think of that, thanks. I was looking at the speed of calculation in different scenarios (calculated on the fly)based on which characters are part of the password and it is still very difficult, if you have a strong password. I am curious which percentage one could match just checking for hashes of common passwords, or common patterns like exclamation marks at the end. In any case it is better than the unhashed version, I agree.

PS Sorry punctuation, mobile phone.
by unshavedyak | 2025-07-19 20:12:46+00:00
That’s always true in my experience, but that doesn’t necessarily mean you need to. The trick I’m working towards is refining the workflow such that i can reliably produce maybe 90% as “good” as what I’d personally produce but much, much faster. All sorts of side work I was avoiding before also becomes much easier, less tedious refactors and large test coverage and etc. It can type much faster than I can, the trick is if we can constrain the thinking enough to make it useful. Keeping it as an autocomplete is as productive as it is difficult imo.
by riku_iki | 2025-07-19 20:13:49+00:00
> if that's you feel there's probably not much I can say to change your mind

you just brought several corp statements which are not grounded into any evidence, and could be not true, so you didn't say that much so far.

> Totally fine not to take every company's word at face value, but imo this would be a weird conspiracy for OpenAI, with very high costs on reputation and morale.

prize is XXB of investments and XXXB of valuation, so nothing weird in such conspiracy.
by gopher_space | 2025-07-19 20:14:44+00:00
> It never is a person. The Citizens United ruling determined that the people in the corporation have the right to free (political) speech, regardless of the coalition they are part of.

Oh that's right, this was part of the whole "money equals speech" plan to get around donation limits. I had forgotten how convoluted the thinking gets if you take every link in the chain at face value.

I find that I'll need to break most political arguments down to the "Who, what, where, why, and how" level if I want to get a grip on what's happening around me and how I'll be impacted. With Citizens United I started by trying to determine what rights I didn't have before the ruling.
by mlyle | 2025-07-19 20:15:02+00:00
> This is called marketing.

Many signals are marketing, but the purpose of signals is not purely to develop markets. We all have to determine what we think will happen next and how others will act.

> Because you have evidence, it smells.

I think you read that differently than what I intended to write -- she claims it smells good.

> Open AI spent its "fool us once" card already.

> > This is from OpenAI. Here they've not been so great with public communications in the past, and they have a big incentive in a crowded marketplace to exaggerate claims.
by gettingoverit | 2025-07-19 20:15:31+00:00
One piece of evidence I have is that most powerful reasoning models can answer at most 10% of my questions on PhD-student level computer science, and are unable to produce correct implementations for basic algorithms, being provided direct references to their implementations and materials that describe them. Damn, o3 can't draw an SVG arrow. Recent advancement in counting "r" in "strawberry" is basically as far as it goes.

I don't know what exactly is at play here, and how exactly OpenAI's models can produce those "exceptionally good" results in benchmarks and at the same time be utterly unable to do even a quarter of that in private evaluation of pretty much everyone I knew. I'd expect them to use some kind of RAG techniques that make the question "what was in the training set at model checkpoint" irrelevant.

If you consider that several billion dollars of investment and national security are at stake, "weird conspiracy" becomes a regular Tuesday.

Unfortunately I can't see beyond the first message of that primary source.
by mdaniel | 2025-07-19 20:15:32+00:00
Oh, yeah, but who can blame them because writing JSON Schema files by hand is some onoz

Ironically (in the context of this submission) Bitnami has a "--schema" option to their README generator, which is why so many of their charts ship with .schema.json files: https://github.com/bitnami/readme-generator-for-helm/tree/2....

There are likely other "give me a schema for this example JSON/YAML file" but almost certainly wouldn't come with the nice {"description":""} blocks, nor the {"required":false} that an annotated .yaml can offer

While digging up that link, I also spotted the tag line in their GitHub org which is hilarious https://github.com/bitnami#:~:text=trusted%20by%20ops
by tonymet | 2025-07-19 20:15:46+00:00
Software developer’s should be more aware of the media layer . I appreciate the author’s post about 3g /5g reliability and latency. Radio almost always retries, and with most HTTP your packets need to arrive in order.

A single REST request is only truly a single packet if the request and response are both < 1400 bytes. Any more than that and your “single” request is now multiple requests & responses . Any one of them may need a retry and they all need to arrive in order for the UI to update.

For practical experiments, try chrome dev tools in 3g mode with some packet loss and you can see even “small” optimizations improving UI responsiveness dramatically.

This is one of the most compelling reasons to make APIs and UIs as small as possible.
by flounder3 | 2025-07-19 20:16:36+00:00
TSMC building outside of Taiwan is a big deal these days: https://en.wikipedia.org/wiki/TSMC#Arizona https://en.wikipedia.org/wiki/TSMC#Washington https://en.wikipedia.org/wiki/TSMC#Japan https://en.wikipedia.org/wiki/TSMC#Germany

From the article:

"about 30 percent of our 2-nanometer and more advanced capacity will be located in Arizona"

.. so it's interesting that they are moving forward with domestic 1.4nm given the geopolitical climate.
by int_19h | 2025-07-19 20:18:06+00:00
I've recently wondered if it's possible to extract a subset of Rust without references and borrow checking by using macros (and a custom stdlib).

In principle, the language already has raw pointers with the same expressive power as in C, and unlike references they don't have aliasing restrictions. That is, so long as you only use pointers to access data, this should be fine (in the sense of, it's as safe as doing the same thing in C or Zig).

Note that this last point is not the same as "so long as you don't use references" though! The problem is that aliasing rules apply to variables themselves - e.g. in safe rust taking a mutable reference to, say, local variable and then writing directly to that variable is forbidden, so doing the same with raw pointers is UB. So if you want to be on the safe side, you must never work with variables directly - you must always take a pointer first and then do all reads and writes through it, which guarantees that it can be aliased.

However, this seems something that could be done in an easy mechanical transform. Basically a macro that would treat all & as &raw, and any `let mut x = ...` as something like `let mut x_storage = ...; let x = &raw mut x_storage` and then patch up all references to `x` in scope to `*x`.

The other problem is that stdlib assumes references, but in principle it should be possible to mechanically translate the whole thing as well...

And if you make it into a macro instead of patching the compiler directly, you can still use all the tooling, Cargo, LSP(?) etc.
by jltsiren | 2025-07-19 20:18:08+00:00
This reminds me of something that was popular in some bioinformatics circles years ago. People claimed that Java was faster than C++. To "prove" that, they wrote reasonably efficient Java code for some task, and then rewrote it in C++. Using std::shared_ptr extensively to get something resembling garbage collection. No wonder the real Java code was faster than the Java code written in C++.

I've been writing C++ for almost 30 years, and a few years of Rust. I sometimes struggle with the Rust borrow checker, and it's almost always my fault. I keep trying to write C++ in Rust, because I'm thinking in C++ instead of Rust.

The lesson is always the same. If you want to use language X, you must learn to write X, instead of writing language Y in X.

Using indexes (or node ids or opaque handles) in graph/tree implementations is a good idea both in C++ and in Rust. It makes serialization easier and faster. It allows you to use data structures where you can't have a pointer to a node. And it can also save memory, as pointers and separate memory allocations take a lot of space when you have billions of them. Like when working with human genomes.
by andy_ppp | 2025-07-19 20:18:09+00:00
I think they are pretty bad tbh apart from the ID one. Everyone knows about the JS quirks so I think it’s good to know sometimes equality in Python strings can behave extremely strangely and the other issues mentioned. Why does it have to be defended “my language is better than your language”? However I’d like to say Elixir is near perfect, thanks :-)
Ask HN: How would you write evals for chat apps running open models?
by hv_ | 2025-07-19 20:18:22+00:00
Hi all,

I'm interviewing for a certain Half-Life provider (full-stack role, application layer) that prides itself on serving open models. I think there is a decent chance I'll be asked how to design a chat app in the systems design interview, and my biggest knowledge gap is writing evals.

The nature of a chat app is so dynamic that it is difficult to hone in on specifics for the evals outside of correct usage of tools.

Thanks for reading!

Cheers
by kragen | 2025-07-19 20:18:37+00:00
Paywall, so, from https://web.archive.org/web/20170930235704/https://www.fastc...:

> Jobs always admired Kay, who in 1984 famously told Newsweek that the Mac was the “first personal computer worth criticizing.” Just before Jobs was fired from his first stint at Apple in the ’80s, he’d been pushing an effort to get the Dynabook built in Cupertino. The two would talk on the phone every couple of months until Steve’s passing, and Jobs invited him to the unveiling of the iPhone in January, 2007.
by hmartin | 2025-07-19 20:18:37+00:00
I wrote a whitepaper intended for an executive audience on the ROI of investing in tools for operational excellence at a startup. It's specifically financial (executive) oriented and not technical, so perhaps you can use it persuasively at your co.

tl;dr (aka ChatGPT's pitch) ... This whitepaper delivers a sharp, data-backed framework for measuring and maximizing the ROI of operational efficiency—equipping leaders with a precise, KPI-driven model, a Monte Carlo-powered NPV simulator, and a tactical 8-week rollout plan. From latency in team alignment to automation payback periods, it translates abstract process friction into financial outcomes with scientific rigor. If you're serious about optimizing internal systems with the same precision you apply to product development, this document is your blueprint.
by mirekrusin | 2025-07-19 20:19:08+00:00
The closest language to "rust without borrowchecker" is probably MoonBit [0] - weirdly niche, practical, beautifully designed language.

When I was going through its docs I was impressed with all those good ideas one after the other. Docs itself are really good (high information density that reads itself).

[0] https://www.moonbitlang.com
by rpdillon | 2025-07-19 20:21:10+00:00
This seems so cool that I was immediately suspicious, but this isn't my area of expertise, so it's hard for me to understand the original paper:

https://www.nature.com/articles/s41551-025-01380-1

This is the abstract, though, which suggests the need for a standard "in mice" disclaimer:

> The success of cancer immunotherapies is predicated on the targeting of highly expressed neoepitopes, which preferentially favours malignancies with high mutational burden. Here we show that early responses by type-I interferons mediate the success of immune checkpoint inhibitors as well as epitope spreading in poorly immunogenic tumours and that these interferon responses can be enhanced via systemic administration of lipid particles loaded with RNA coding for tumour-unspecific antigens. In mice, the immune responses of tumours sensitive to checkpoint inhibitors were transferable to resistant tumours and resulted in heightened immunity with antigenic spreading that protected the animals from tumour rechallenge. Our findings show that the resistance of tumours to immunotherapy is dictated by the absence of a damage response, which can be restored by boosting early type-I interferon responses to enable epitope spreading and self-amplifying responses in treatment-refractory tumours.