MurphyA/hacker-news huggingface dataset:
by NobodyNada | 2025-05-21 15:04:25+00:00
It's an open question whether creating a reference to an uninitialized value is instant UB, or only UB if that reference is misused (e.g. if copy_to_slice reads an uninitialized byte). The specific discussion is whether the language requires "recursive validity for references", which would mean constructing a reference to an invalid value is "language UB" (your program is not well specified and the compiler is allowed to "miscompile" it) rather than "library UB" (your program is well-specified, but functions you call might not expect an uninitialized buffer and trigger language UB). See the discussion here: https://github.com/rust-lang/unsafe-code-guidelines/issues/3...

Currently, the team is leaning in the direction of not requiring recursive validity for references. This would mean your code is not language UB as long as you can assume `set_len` and `copy_to_slice` never read from 'data`. However, it's still considered library UB, as this assumption is not documented or specified anywhere and is not guaranteed -- changes to safe code in your program or in the standard library can turn this into language UB, so by doing something like this you're writing fragile code that gives up a lot of Rust's safety by design.
Ask HN: Why ChatGPT/Claude can't update projects?
by divan | 2025-05-21 15:04:30+00:00
ChatGPT/Claude Projects are a great way to group files/chats and use them for long-running projects. But seems like there is no way to add/update files in projects. Why?

One of the basic project management needs is to keep track of its stages and generate some artifacts on each stage. Claude can generate artifacts, but can't add them to the project. ChatGPT can't either. Even if you add a markdown file with a simple TODO list, and want to update completed tasks, "projects" can't do it.

Is there a reason for such a limitation? Or am I missing something obvious?
by chriswarbo | 2025-05-21 15:04:55+00:00
Indeed, I've had a property fail due to `Char.isWhitespace` disagreeing with a `\s` regex over whether Mongolian Vowel Separator counts as whitespace (it's not any more, but was prior to Unicode 6.3, according to https://unicode-explorer.com/c/180E )

It's been said (I think by Hughes?) that the causes of property failures tend to be spread equally between buggy code, buggy property and buggy generator.
by giancarlostoro | 2025-05-21 15:04:56+00:00
Pretty sure this violates Discord's Terms of Service, there was someone selling access to logs from servers the person running the website was joining on self-bots (TOS) and the person would just log all available data. Discord definitely got legal on them. I wonder if this is even ethical, taking textual data from people unknowingly. Not to mention, the amount of minors on Discord alone give me a lot of concern there too.
by jhedwards | 2025-05-21 15:05:02+00:00
This criticism strikes me as lazy: it zeroes in on some casual introductory remarks made by the author which are intended to serve as a general guideline or frame of reference for understanding the concepts which follow, then invents a premise which is not in the article (that engineering doesn't contain discovery) and uses that to falsely demonstrate the weakness of the rest of the article.

How can you read this article and your takeaway is that "the author is arguing that engineering does not have abstraction or discovery"? How can you read this insightful article and think "this is extremely poor understanding" because the author does not discuss how "all engineering is full of discovery" when that is not even relevant to the topic of the article? Clearly their point is that engineering does have discovery, and they give examples specifically from the domain of software engineering.

If you think that discovery in all fields of engineering is an interesting topic, go ahead and write your own article about that topic. Show examples from plumbing, electrical engineering, and material science. It would be fascinating, it really would be! But that is not this article, nor is it at odds with what the author of this article is saying.

It's difficult to write an article like this. It takes time and consideration, organization and work. Nit-picking generalization which are not core to the argument of the article, on the other hand, is easy. Anyone can do it.
by martin-t | 2025-05-21 15:05:08+00:00
I don't see why not just skip the "representatives" part and have juries vote on laws directly.

If you take away the little power people have to influence the government, why not at least do it without adding another layer of indirection?

The idea of a representative is flawed from the start to begin with. There is probably no single person in my country who agrees with me on everything. Therefore any person I choose to represent myself is only an approximation of what I really want.

I increasingly feel like the belief that people need to be ruled by powerful individuals (or worse, i single individual) comes from some primitive need that evolved back when combat ability was your group's primary predictor of survival.
by detourdog | 2025-05-21 15:05:31+00:00
From my perspective the quote that we stand on the shoulders of giants is the positive side of conservatism. The negative side of conservatism may block some positive effects.

I'm not sure why you feel the notion of conservatism has a hierarchy of goals. I see it as a simple idea that can be applied to almost any effort. Like any tool it can be applied in detrimental ways.

I believe absolute opinions on conservatism probably miss a lot of nuance.

Finally I think that arguments that conservatism is dangerous are mostly based on the fact that many people are making bad decisions and they are paying lip service to conservatism.
by mavamaarten | 2025-05-21 15:05:36+00:00
Agreed. Some use it as a knowledgebase and issue tracker and forum and chatroom in one. I absolutely despise it for that use case.

I mean I use it for voice chatting with friends while gaming too and it's fine for that.

But if I have to beg and plead to a discord bot to join a channel to just read some docs, I'm just going to ignore your project. Not sorry about that at all.
by bpshaver | 2025-05-21 15:06:02+00:00
Does the article he links to towards the end of the article address your concerns?

> Without complex input spaces, there's no explosion of edge cases, which minimizes the actual benefit of PBT. The real benefits come when you have complex input spaces. Unfortunately, you need to be good at PBT to write complex input strategies. I wrote a bit about it here...

Here's the link: https://www.hillelwayne.com/post/property-testing-complex-in...
by Flamentono2 | 2025-05-21 15:06:49+00:00
AI porn already exist.

Im pretty sure kid/child ai porn already exist somewhere. But i'm quite lucky despite knowing rotten.com and plenty of other sides, never having seen real so i doubt i will see fake child porn.

Whats the elephant in the room now? Nothing changed. Whoever consumes real will consume fake too. FBI/CIA will still try to destroy cp rings.

We could even think it might make this situation somehow better because they might consume purely virtual cp?
by keybored | 2025-05-21 15:07:11+00:00
> I think the proponents of the theory need to explain by which mechanism the actual loss of information supposedly occurs (on the probability distribution of possible LLM outputs). Is it averaging? Added randomness? Preferential skew? To me, it is rather vague, to the point I don't see how it's different from what humans have done for centuries.

This is the pure incredulity that I was talking about.
by bmink | 2025-05-21 15:07:26+00:00
> These seats will increase passenger capacity on airlines by 20 per cent

> Ryanair CEO Michael O’Leary […] wants his Boeing's 737 and 800 fitted with 10 rows of them, and 15 rows of traditional seats.

> Michael has suggested the standing tickets may potentially cost as little as £1 to £5.

According to Google, a 737 has a max seating capacity of 230.

Increasing that by 20% would be 46 seats more. So all this to take in around 50-230 pounds (or dollars, whatever) per flight?
Show HN: KVoiceWalk – Voice cloning for Kokoro TTS using random walk algorithms
by robviren | 2025-05-21 15:07:35+00:00
I was blown away by Kokoro and what it managed to do with such little space. I became curious if it would be possible to create new voices by direct manipulation of the style tensors. After many failed attempts I finally landed on a method that properly scores the similarity of two audio segments that works well enough to random walk similar voices for Kokoro. I plan on using this scoring as part of a genetic algorithm, but wanted to baseline test it with this code.

The scoring mechanism using Resemblyzer to calculate similarity to target audio and similarity to another segment of audio it generates itself, self similarity. This self similarity was key in keeping the model stable and the audio consistent across inputs. But it was not enough to prevent over fitting to Resemblyzer.

I had to create a third metric which uses a normalized difference of a variety of audio features compared to the target features. Summing those I get a feature similarity metric which is useful in keeping audio quality from degrading too much and prevents over fitting.

The last challenge was weighting the score while keeping it flexible enough to explore the complex text to speech style space. Using a weighted harmonic mean allowed for back sliding on some metrics for significant improvement in others, which reduced stagnation and worked well enough for the random walk to work.

The results are fairly good. I would say it ends up in the uncanny valley of similarity rather than producing a proper clone of the target voice. It sounds like it might be the target voice, but does well enough to improve similarity from 70% to around 90%. There are probably limitations to the architecture of Kokoro in how close it can possibly sound to other voices, but there is probably some more progress to be made using a more advanced genetic algorithm.

Check out the code, make some new voices, and let me know if you have any ideas on ways to improve.
by palmfacehn | 2025-05-21 15:07:53+00:00
From "The Limits to Growth" to peak oil and beyond: As a rule, scarcity doom and neo-malthusianism hasn't played out the way proponents claim. I've been very critical of the AI hype cycle here and elsewhere, but this isn't it. In the long run technological advancements increase our productivity and quality of life.

Yes, much of what is being promoted is slop. Yes, this bubble is driven by an overly financialized economy. That doesn't preclude the possibility of AI models precipitating meaningful advancements in the human condition.

From refrigeration to transportation, cheap and abundant energy has been one of the major driving forces in human advancement. Paradoxically, consuming cheap energy doesn't reduce the amount of energy available on the market. Instead it increases the size of the market.
by cometapi | 2025-05-21 15:08:07+00:00
In the rapidly evolving field of AI-driven video generation, OpenAI’s Sora stands out as a pioneering tool that transforms textual prompts into dynamic, high-fidelity videos. However, harnessing Sora’s full potential requires more than just descriptive language—it demands a strategic approach to prompt crafting grounded in cinematic principles, clarity, and iterative refinement. Recent evaluations highlight both Sora’s impressive capabilities and its current limitations, including bias and inconsistencies in rendering complex scenes. By understanding Sora’s underlying technology, adopting best practices from expert prompt engineers, and learning from community-driven experiments, creators can significantly improve output quality. This article synthesizes the latest insights and news to offer a comprehensive, question‑driven guide on how to prompt Sora effectively, complete with detailed tips, illustrative examples, and cautionary advice.
by TheNewsIsHere | 2025-05-21 15:08:15+00:00
I would add that the original submission also brushes aside the very real problem that the US has what is effectively a widespread cult of fascists whose leader is the sitting President. We’re talking about a not insignificant number of people who either enjoy the cult or are too {stupid,uneducated,naïve,gullible,sucked in} to see the leopard that is staring at their face and drooling for a bite.
by Sukera | 2025-05-21 15:08:22+00:00
For aggregation-like things, the interesting properties are often about the properties of the accumulation function, and not the entire aggregation, which should then be correct by extension. So for your `sum` example, you'd use PBT to test that your `+` works first, and only then coming up with things that should hold on top of that when repeatedly applying your operation. For example, once you have a list of numbers and know it's sum, adding one additional number to the list and taking the sum again should lead to the same result as if you had added the number to the sum directly (barring non-associative shenanigans like with floating point - but that should have already been found in the addition step ;) ).

There's a bunch of these kinds of patterns (the above was inspired by [0]) that are useful in practice, but unfortunately rarely talked about. I suppose that's because most people end up replicating their TDD workflows and just throwing more randomness at it, instead of throwing more properties at their code.

[0] https://fsharpforfunandprofit.com/posts/property-based-testi...
by darkwater | 2025-05-21 15:08:23+00:00
> and value your time at $0 because it’s fun.

I don't know if you were being ironic or not but... that's an absolute truth. Our free time doesn't have a fixed rate. It doesn't have a rate at all. What you do during free time can be basically seen as either:

* a chore you don't like to do

* something you like to do.

Any task can swing between those states depending on your mood. If installing your own solar plant or self-host your server rack (as OP is doing) is something you enjoy doing, then yes, it costs exactly $0 in labor.
by bestouff | 2025-05-21 15:08:37+00:00
I'm always impressed how many of our problems were solved very long ago (in this case, we know Athenians did "Citizen Assemblies" more than a thousand years ago) but then our systems slowly decay and the solution is lost.

That means a well working democratic country with a working welfare and social net will eventually degrade into some random authoritarian shithole. That scares me.
by Twirrim | 2025-05-21 15:08:43+00:00
> why do you actually accept this is a real narrative real people believe?

Because we're literally seeing people being laid off with narratives about being replaced with AI (At a whole slew of companies). Because we're seeing company policies around hiring being changed to require hiring managers to provide exhaustive justifications why the work couldn't be handled by an AI (at e.g. Shopify, Salesforce and so on)

> have you talked to the executives implementing these strategies?

I have had a few conversations, yes. Have you? They're weirdly "true believers" that are buying the marketing hype hook line and sinker. They're doing small coding exercises themselves in these tools, seeing that they as an executive can manage to get valid code for the small exercise out the other side of it, and assuming that that means it can replace head count. Either deliberately or naively failing to understand that there is a world of difference between leet code style exercises, or quick small changes to code bases, and actual software development.

The weirdest conversation recently, which thankfully I got to just be on the periphery of, involved an engineering org that decided to try to replace the post-incident process with one entirely written by LLMs. It would take timelines from a ticket, and a small prompt to write up the entire post-incident report, tasks etc.

The whole project showed a gross misunderstanding of the point of post-incident stuff, eradicating "introspection" and "learning from your mistakes", turning it into a check box exercise for teams. Even their narrative around what they were doing was hilarious, because it came down to "Get the post-incident report out of the way so we can concentrate on the real work".
by andreareina | 2025-05-21 15:09:13+00:00
They’re different, complementary approaches. Example based testing has a known input and output. Unless you have an oracle (not usually the case) you won’t know the exact output you should get from a generated input. So instead you depend on something that should be true no matter the input. e.g. if you have a serialize/deserialize pair then `deserialize(serialize(x))` better equal `x`.
Ask HN: What back end SSR stack do you recommend in 2025 and why?
by pier25 | 2025-05-21 15:09:34+00:00
Currently using JS but looking for a better alternative for backend. I don't think the NPM ecosystem is as mature/reliable as what you can find in other backend stacks (.NET, Python, etc).

I'm particularly interested in maturity, DX, and performance.

Thanks!
by ranadomo | 2025-05-21 15:09:56+00:00
I believe this is the case and the wiki summary seems to agree.

> Geoffrey K. Pullum's explanation in Language Log: The list of snow-referring roots to stick [suffixes] on isn't that long [in the Eskimoan language group]: qani- for a snowflake, apu- for snow considered as stuff lying on the ground and covering things up, a root meaning "slush", a root meaning "blizzard", a root meaning "drift", and a few others -- very roughly the same number of roots as in English. Nonetheless, the number of distinct words you can derive from them is not 50, or 150, or 1500, or a million, but simply unbounded. Only stamina sets a limit.

https://en.wikipedia.org/wiki/Eskimo_words_for_snow#cite_not...

The Lexical Elaboration Explorer app does not allow one to see the actual words for snow for any language, so the tool is mostly a geographic and word-density plotter, but neither the article nor the website add much nuance to this debate. The hypothesis is fairly obvious: languages have words for common things. It's not really falsifiable and I find this type of analysis typical of modern research. Sloppy, surface-level, coding-tutorial demonstrations of mostly useless data display.
by GuinansEyebrows | 2025-05-21 15:10:31+00:00
> We considered it for generating ruthless critiques of UI/UX

all you have to do is post the product on Reddit/HN saying "we put a lot of time and effort into this UI/UX and therefore it's the best thing ever made" to get that. Cunningham's Law [0] is 100% free.

[0] https://en.wikipedia.org/wiki/Ward_Cunningham#%22Cunningham'...
by pxc | 2025-05-21 15:10:31+00:00
Yes! I knew that those are comparable to devenv.sh (what my team uses; love it!) in terms of environment management but wasn't yet aware of whether or not they also have task runners like one might use to build CI/CD pipeline logic.

I also want to say that this approach has largely spared my team the pain many users seem to have with Docker on aarch64 Macs. Nix works well on both aarch64 and x86_64, and doesn't require emulation to run. This is really more appropriate for running development tools locally, I think.
by IanCal | 2025-05-21 15:10:36+00:00
I used it for running a series of "execute this api call".

If it's valid for a user to do, you can make a list and have it do those in sequence.

I had this for a UI library. It could call the functions to add and create the library and then afterwards would move through it. It was for the BBC so on TVs and could move u/d/l/r - the logic was regardless of the UI if you moved right and the focus changed then moving left should bring you back to where you were (u/d the same, etc).

That's tricky, yet being able to write

FOR ANY ui a person can construct

FOR ANY path a user takes through it

WHEN a user presses R

AND the focus changes

THEN when the user presses L

THEN the user is on the item they were before

Was actually quite easy to write and yet insanely powerful.

The one that really convinced me on PBT was one in this library where it found the bug, and the bug had an explicit test for it and it was explicitly in the spec but the spec was inconsistent! The spec was broken, and nobody had noticed.

Another that drove out a lot of bugs was similar but was that regardless of how many ui changes we made and how many movements the user made, we always had something in focus.

Anyway, the big thing here I want to stress is a series of API calls and asserting something at the end or all the way through.

Side note - oh my this is so long ago, 15 years ago building a new PBT tool in actionscript
by vidarh | 2025-05-21 15:10:37+00:00
I love that. Thanks.

I think you can avoid making that padding visible.

In terms of making this work in a terminal, what I'd imagine would be having the app still aligning things to fixed-width column boundaries, but handling the elastic tab stops based on knowing a maximum extent of a single-width character used (you'd still need to deal with the unicode mess) and setting tab stops based on that. Adding an escape to report the font extents would be easy.

I'll have to do some experiments on this... Especially as I'm the kind of maniac who likes to align multi-line spans of code in way linters will yell at.
by kbolino | 2025-05-21 15:10:51+00:00
There's going to be a compatibility-performance tradeoff here, to be sure, though the compatibility issue is going to be more with "very old platforms" and the performance issue is going to be more with "very high resolutions on very high refresh rates". So it's a question of whether you want to produce something that works well on current and past hardware vs. works well on current and future hardware, with some allowance for "can't please everybody".

I don't consider scrolling a large page to be an "uncontrollable fit of interactivity" but it's going to struggle to stay smooth using a single, simple linear array of pixels that's manipulated solely by the CPU. If you can at least work with multiple pixel buffers and operate on them at least somewhat abstractly so that even basic operations can be pushed down to the GPU, even if you don't work directly with command buffers, that will go a long way to bridging the gap between past and future, at least for 2D interfaces.
by neves | 2025-05-21 15:11:28+00:00
I'm not saying it can do better than a good developer, but that it knows the "average" way to do it.

There's one thing called the "curse of knowledge". You don't know how it is to don't know something. The LLMs will spit an "average" way to do it, without breaking user expectations.

I've seen a lot of badly developed apis.
by gilleain | 2025-05-21 15:11:52+00:00
That is wild, yes - he's one of those actors that always seems about that age. He was 57 or so when the first Harry Potter was filmed.

In fact, I would like a Potter/Withnail mashup, with Harry looking confused and distraught while Withnail shouts "Have you been at the controls!!? I demand some booze!" at him.
by BubbleRings | 2025-05-21 15:12:58+00:00
Thank you so much for these posts! It makes me very optimistic about the future.

For the longest time we all watched from the sidelines, hoping that the desire to turn off coal-fired power plants, and research often funded by tax dollars, would get the ball moving on solar. Now that the market has its magic invisible hand on that ball, it seems clear to me we have a path out of this mess.

Rant your stupid “drill baby drill” crap all you want magats, we are going to solar, wind, and fusion our way to a better world, and there is nothing you can do to stop us.