MurphyA/hacker-news huggingface dataset:
by Epa095 | 2025-08-22 16:46:50+00:00
Although in a global world, it's not clear that it's best for a country to focus on getting the absolute best, IF if means the average suffers from it. There is value in being the best, but for the economy it's also important to have enough good enough people to utilise the new technology/science(which gets imported from abroad), and they don't need to be the absolute best.

As a bit of a caricature example, if cancer is completely cured tomorrow, it's not necessarily the country inventing the cure which will be cancer free first, but the one with the most doctors able to use and administer the cure.
by nayuki | 2025-08-22 16:47:15+00:00
Well done on the excellent interactive visual explanation!

Having experience reading/writing SVG paths from scratch, here are a few additions for the "Lil' extras" section:

* 'H' (horizontal) is a shorthand for 'L' (line) where the y-coordinate does not change. For example, "M 12,34 H 56" is shorthand for "M 12,34 L 56,34". There is of course a lowercase relative version too, 'h', so "M 12,34 h 56" means "M 12,34 l 56,0".

* 'V' (vertical) is a shorthand for 'L' (line) where the x-coordinate does not change. For example, "M 12,34 V 56" is shorthand for "M 12,34 L 12,56". There is of course a lowercase relative version too, 'v', so "M 12,34 v 56" means "M 12,34 v 0,56".
by frantathefranta | 2025-08-22 16:47:22+00:00
I like Microcenter a lot but this reminded me that the one thing I had issues with was buying a 256GB M.2 SSD there (I think from their in-store Inland brand) and it only ever showed up as 1GB. I don't know if it was a QA issue or a RMA swap but who knows. Obviously they were fine with me returning it and hopefully they didn't put it back on the shelf.
by selecsosi | 2025-08-22 16:48:33+00:00
It hasn't unlocked a magical promotion track for me, but it has engendered support and respect from my teams that has allowed us to produce delivery exceeding what we thought we could because there was true buy in from the business around the definition of exceptional circumstances.

I'm not personally engineering my career in leadership around moving up, but building teams of people that can do exceptional things tends to be the driving factor that allows me to continue up the track.
by turnsout | 2025-08-22 16:48:35+00:00
Nice in theory, but I once made a throwaway prototype which the client used as the foundation for their mobile app. It was translated into 26 languages and deployed across the globe. I had to work with their mobile engineers who asked why some of the views were so knotty and complex. They were complex because I was quickly patching and tweaking things between user interviews until the end of the project! The code was a mess.

Once the business sees that the prototype more or less works, it's incredibly difficult to get them to spend money on a "sane" clean-sheet rewrite.
by incone123 | 2025-08-22 16:48:42+00:00
They can promise whatever they like knowing there's very little chance they will be put to the test.

The last time the Lib Dems got a taste of power in 2010 it was by going into coalition with the Tories at the cost of dumping key election pledges. Next election they were dumped by the public and their leader Nick Clegg was hired by Meta - presumably for his connections as he has no particular talent to sell.
by kevinsync | 2025-08-22 16:48:48+00:00
Seconded, HandBrake[0] is great for routine tasks / workflows. The UI could be simplified just a tad for super duper simple stuff (ex. ripping a multi-episode tv show disc but don't care about disc extras? you kind of have to hunt and poke based on stream length to decide which parts are the actual episodes. The app itself could probably reliably guess and present you with a 1-click 'queue these up' flow for instance) but otherwise really a wonderful tool!

Past that, I'm on the command line haha

[0] https://handbrake.fr
by rollcat | 2025-08-22 16:48:55+00:00
I really wish we could make uniformity a trend again. GTK has basically made it a rule that applications must do whatever the heck they want.

Then next day I'm using Inkscape on a Mac. Cmd-A on the canvas selects all elements. Cmd-A in a text field selects all elements on the canvas - and whatever text was in the field, now applies to the selection, so I start typing and instantly get garbage.

How do you Select All in a text field? Ctrl-A of course! - On the only system that has a non-broken copy/paste in the terminal.

I guess props to Thunderbird for leaving some space on the title bar to drag the window around? Do not take it for granted.
by sixo | 2025-08-22 16:49:38+00:00
> which means we don't learn anything usefully actionable from the test and shouldn't apply it.

This just isn't true. In practice any such screening model can ALWAYS improve with more data—basically because the statistical power goes up and up—up to an asymptote set by noise in the physical process itself.

> That can be scary

Handling that is the job of professionals, is now and will continue to be.

It is extremely reasonable to imagine a benefit! What is doubtful is imagining there wouldn't be one!

I find the line of reasoning in this whole anti-MRI-everyone argument to be bewildering. I think it is basically an emotional argument, which has set in as "established truth" by repetition; people will trot it out by instinct whenever they encounter any situation that suggests it. It reflects lessons collectively learned from the history of medicine, its over-estimation of its own abilities and its overfitting to data, and its ever-increasing sensitivity to liability.

But it is not inherently true—it is really a statement about poor statistical and policy practices in the field, which could be rectified with concerted effort, with a potential for great public upside.

Not that any of this matters at the current price point. But, on a brief investigation, the amortized cost of a single MRI scan is ~$500-800—perhaps 1/5 what I would have guessed!
by NalNezumi | 2025-08-22 16:49:41+00:00
That's a very bad-faith take on what I wrote. I'll self-quote:

>The experience made me think that it's tremendously valuable for kids to find *multiple places* (at least one outside school) where they can meet their peers.

Most people don't neatly fit in to "one" category. Trying to find many places you could meet peers can open up your mind (and also people around you)
by skybrian | 2025-08-22 16:49:52+00:00
We shouldn’t take these numbers blindly, but even if you think the value that Anthropic is providing is inflated by 10x due to it being a fad, that’s still 100x more value than cotton.

Market prices can be wrong, but I think it goes too far to completely disregard them and cut back on AI rather than cotton in places where there’s relatively little water. You can buy cotton from somewhere that has more water, rather than growing it in a desert.
by jen20 | 2025-08-22 16:49:52+00:00
Different trade offs, both are fine.

The downside of a small stdlib is the proliferation of options, and you suddenly discover(ed?, it's been a minute) that your async package written for Tokio won't work on async-std and so forth.

This has often been the case in Go too - until `log/slog` existed, lots of people chose a structured logger and made it part of their API, forcing it on everyone else.
by throwway120385 | 2025-08-22 16:50:06+00:00
I closed off my Prime because I kept having terrible experiences returning things and then having them claw back the refund on things they returned. For a few items I had to call 3 or 4 times over the course of 6 months because the claw-back kept getting re-applied to the card despite the CSR repeatedly telling me it was solved and not to worry about it. That plus the counterfeit items I've gotten over the years plus the general crap quality of everything was enough for me. In my experience you have to really stay on top of them, and you're probably not having that experience because you're not ordering things like clothing where you need to get a lot of items and then return almost all of them for not fitting or for not looking anything like the image online.
by tomxor | 2025-08-22 16:50:09+00:00
Spinrite is for HDDs, sure you can use it on SSDs but that's fairly useless in the best case and actively destructive in the worst case. The whole point of Spinrite is exploiting the magnetic nature of HDDs for recovery, that's the only thing that distinguishes it from other generic block device analysis and data recovery software. For SSDs there are plenty of open source software that will work just as well for reading raw data (but what you get for unallocated blocks is at the whim of proprietary SSD controllers anyway).

Spinrite had utility for combating data loss inherent to the HDD medium... I don't like the idea of ValidDrive because it's a paid user tool to fight fraud, that's a bad incentive, you don't want to benefit from that, it should be free and open.
by hombre_fatal | 2025-08-22 16:50:13+00:00
> using the CSP-like (goroutine/channel) formalism which is easy to reason with

I thought it was a seldom mentioned fact in Go that CSP systems are impossible to reason about outside of toy projects so everyone uses mutexes and such for systemic coordination.

I'm not sure I've even seen channels in a production application used for anything more than stopping a goroutine, collecting workgroup results, or something equally localized.
by habinero | 2025-08-22 16:50:13+00:00
No, they're not. It's critically important if you're part of an engineering team.

If everyone does their own thing, the codebase rapidly turns to mush and is unreadable.

And you need humans to be able to read it the moment the code actually matters and needs to stand up to adversaries. If you work with money or personal information, someone will want to steal that. Or you may have legal requirements you have to meet.

It matters.
by bsoles | 2025-08-22 16:50:34+00:00
Any two linearly increasing or decreasing datasets will be necessarily highly correlated. But that doesn't mean anything unless you also have a plausible explanation why it is so.

Also correlation is often taken to mean linear correlation. For example, you can have two nonlinearly varying dataset to be perfectly (rank) correlated while their linear correlation can be close to zero.

People often attach undue meaning to correlation.
by Havoc | 2025-08-22 16:50:43+00:00
Not just fakes that but I'm also finding consumer ones seem to die a lot...

I ended up building a NAS from 2nd hand enterprise SSD plus optanes. Cheap, fast & resilient.

Normally not so keen on 2nd hand storage, but the combination of enterprise (tons of endurance) plus full mirrored is an acceptable risk to me. And (also mirrored) optanes for metadata and small files means everything feels super snappy
by Quarrelsome | 2025-08-22 16:50:59+00:00
functional code because it intentionally always takes input and returns output. However not all code is functional and testing has a side effect of making change harder. So if you write a lot of half-useless tests that break when you change anything then you've just made your code harder to change. Even with an AI doing that automatically the damage is contextual, which tests should be removed after a given change and which kept? It requires a decent amount of thought.

Outside of functional code, there's a lot out there which requires mutable state. This is much harder to test which is why user interface testing on native apps is always more painful and most people still run manual QA or use an entirely different testing approach.
by selecsosi | 2025-08-22 16:51:02+00:00
The system in this case for me is usually building a stronger backbone or improving communication and elevating constraints to highly our strengths/weaknesses and capabilities to actually achieve the desired outcome.

I view it as more a single system of constant improvement and understanding ability to execute in the environment. Nothing hurts credibility more than late commms, and missed deadlines due to over commitments.
by austinpow | 2025-08-22 16:51:24+00:00
This is an important example; Brightline feels qualitatively different from Amtrak and they get points for actually delivering new passenger rail service. They have a newer, cleaner, faster product. I rode once from Orlando to Boca and sat next to some British rail fans who went out of their way to try "the new train" on their way to a cruise out of Ft. Lauderdale.

Unfortunately despite significant capital investment to run double track on the FEC corridor from West Palm to Miami (their initial route before expanding north), they and the FEC have been unable/unwilling to do much about the fundamental flaw of rail in densely populated South Florida: at-grade crossings, many in no-horn zones because nearby residents have lobbied for that. This has been a problem for decades even when the line was freight-only.

All too predictably, a recent investigation [1] found Brightline is the deadliest passenger railroad in the US. Good data visualization and sobering reporting in that article. The railroad wants to socialize the costs of upgrading the crossings but of course privatize the profits. That said, I feel communities that want the density/development benefits of "transit" should be prepared for the costs of achieving that safely.

[1]: https://www.miamiherald.com/news/local/article308679915.html
by rootnod3 | 2025-08-22 16:51:46+00:00
So, there you have it. TDD is good if applied correctly, and only if you apply it 100% correct. And so it seems for LLM usage. If it doesn't work for you, then you are obviously doing it wrong according to many folks here. TDD is nice to catch refactoring mistakes, LLMs are nice to maybe do some initial refactoring on a small enough code base. And it doesn't mean that one precludes the other. But I haven't seen TDD put engineers out of work and neither should LLMs. Trust either model fully and you are in for a world of hurt.
by nothrabannosir | 2025-08-22 16:52:09+00:00
Yeah those are workers which require manual admin of memory shared / passed memory:

> Within a worker thread, worker.getEnvironmentData() returns a clone of data passed to the spawning thread's worker.setEnvironmentData(). Every new Worker receives its own copy of the environment data automatically.

M:1 threaded means that the user space threads are mapped onto a single kernel thread. Go is M:N threaded: goroutines can be arbitrarily scheduled across various underlying OS threads. Its primitives (goroutines and channels) make both concurrency and parallelism notably simpler than most languages.

> But it's certainly worth pointing out that at least several of the major runtimes are capable of multithreading, out of the box.

I’d personally disagree in this context. Almost every language has pthread-style cro-magnon concurrency primitives. The context for this thread is precisely how go differs from regular threading interfaces. Quoting gp:

> The go language and its runtime is the only system I know that is able to handle concurrency with multicore cpus seamlessly within the language, using the CSP-like (goroutine/channel) formalism which is easy to reason with.

Yes other languages have threading, but in go both concurrency and parallelism are easier than most.

(But not erlang :) )
by fleabitdev | 2025-08-22 16:52:20+00:00
Happy to hear that they've introduced video encoders and decoders based on compute shaders. The only video codecs widely supported in hardware are H.264, H.265 and AV1, so cross-platform acceleration for other codecs will be very nice to have, even if it's less efficient than fixed-function hardware. The new ProRes encoder already looks useful for a project I'm working on.

> Only codecs specifically designed for parallelised decoding can be implemented in such a way, with more mainstream codecs not being planned for support.

It makes sense that most video codecs aren't amenable to compute shader decoding. You need tens of thousands of threads to keep a GPU busy, and you'll struggle to get that much parallelism when you have data dependencies between frames and between tiles in the same frame.

I wonder whether encoders might have more flexibility than decoders. Using compute shaders to encode something like VP9 (https://blogs.gnome.org/rbultje/2016/12/13/overview-of-the-v...) would be an interesting challenge.
by zac23or | 2025-08-22 16:52:26+00:00
Great article!

I like Go and Rust, but sometimes I feel like they lack tools that other languages have just because they WANT to be different, without any real benefit.

Whenever I read Go code, I see a lot more error handling code than usual because the language doesn't have exceptions...

And sometimes Go/Rust code is more complex because it also lacks some OOP tools, and there are no tools to replace them.

So, Go/Rust has a lot more boilerplate code than I would expect from modern languages.

For example, in Delphi, an interface can be implemented by a property:

type TMyClass = class(TInterfacedObject, IMyInterface) private FMyInterfaceImpl: TMyInterfaceImplementation; // A field containing the actual implementation public constructor Create; destructor Destroy; override; property MyInterface: IMyInterface read FMyInterfaceImpl implements IMyInterface; end;

This isn't possible in Go/Rust. And the Go documentation I read strongly recommended using Composition, without good tools for that.

This "new way is the best way, period ignore good things of the past" is common.

When MySQL didn't have transactions, the documentation said "perform operations atomically" without saying exactly how.

MongoDB didn't have transactions until version 4.0. They said it wasn't important.

When Go didn't have generics, there were a bunch of "patterns" to replace generics... which in practice did not replace.

The lack of inheritance in Go/Rust leaves me with the same impression. The new patterns do not replace the inheritance or other tools.

"We don't have this tool in the language because people used it wrong in the old languages." Don't worry, people will use the new tools wrong too!
by viridian | 2025-08-22 16:52:30+00:00
A California bias is not the same as being woke. 6 time Oscar award winner and 14 time Oscar Nominee film La La Land wasn't especially woke, but it was damn near manufactured in a lab to appeal to the exact sort of sensibilities that are held by Academy members.

The focus on careerism and social climbing, the nostalgia for an era of media since gone by, the melancholic reality of how damn near impossible it is to succeed as an actor or musician, these aren't woke ideas, but they do reflect the general sentimentality of the people in the greater LA area.
by Tade0 | 2025-08-22 16:52:37+00:00
That's not an outdated stack - just a stable one.

An outdated stack is a not-up-to-date version of Wordpress I foolishly set up because it was the last one compatible with a certain plugin used by a client on their website that I was recreating from the Wayback Machine.

The domain was put on a black list of dangerous sites (rightfully so, considering that the bot that hacked into it replaced the site with spam).
by potato3732842 | 2025-08-22 16:53:01+00:00
>This money was already taxed when the individual who pays the babysitter received it. It's questionable whether the society as a whole benefits from taxing babysitters.

Replace babysitter with any government regulated and licensed profession and the motives become clearer. The government gets power by forcing things above the table because once above the table you can be forced to transact with who they want and how they want and those parties then become dependent upon government to a degree.

There's no such thing as cash under the table land surveying, for example.
by righthand | 2025-08-22 16:53:14+00:00
I mean a bursting bubble is what? A C-Suite pulling the valve shut or a company going under? It seems like the bubble has burst already then when Zuckerberg and Altman started decrying it earlier in the week. Now we just wait for all the smaller companies to either fold. For the larger companies the bubble will probably deflate slowly rather than burst.

There are no market indicators if the actual burst is at the whim of a human. Being that Meta can probably bleed for a while before seeing real losses after a burst. All they have to do is be the first one to stop growing while the bubble deflates.
by turnsout | 2025-08-22 16:53:21+00:00
Yeah, LLMs have honestly made ffmpeg usable for me, for the first time. The difficulty in constructing commands is not really ffmpeg's fault—it's just an artifact of the power of the tool and the difficulties in shoehorning that power into flags for a single CLI tool. It's just not the ideal human interface to access ffmpeg's functionality. But keeping it CLI makes it much more useful as part of a larger and often automated workflow.
by 1vuio0pswjnm7 | 2025-08-22 16:53:33+00:00
What is interesting IMO about the "confidently wrong" phenomenon is that this was also commonly found in internet forums and online commentary in general prior to widespread use of today's confidently wrong "AI". That is, online commenters routinely were and still are "confidently wrong". IMHO and IME, the "confidentlay wrong" phenonmenon was and still is greater represented in online commnentary than "IRL".

No surprise IMO that, generally, online commenters and so-called "tech" companies who tend to be overly fixated on computers as the solution to all problems, are also the most numerous promoters of confidently wrong "AI".

The nature of the medium itself and those so-called "tech" companies that have sought to dominate it through intermediation and "ad services"^1 could have something to do with the acceptance and promotion of confidently wrong "AI". Namely, its ability to reduce critical thinking and the relative ease with which uninformed opinions, misinformation, and other non-factual "confidently wrong" information can be spread by virtually anyone.

1. If "confidently wrong" information is popular, if it "goes viral", then with few exceptions it will be promoted by these companies to drive traffic and increase ad services revenue.

Please note: I could be wrong.
by zozbot234 | 2025-08-22 16:53:39+00:00
str is not really a "primitive type", it only exists abstractly as an argument to type constructors - treating the & operator as a "type constructor" for that purpose, but including Box<>, Rc<>, Arc<> etc. So you can have Box<str> or Arc<str> in addition to &str or perhaps &mut str, but not really 'str' in isolation.
by shcheklein | 2025-08-22 16:53:42+00:00
This is probably the right solution. It seems in reality nobody does this since it is expensive (more teachers, real attention to students, etc). Also if there is an explicit split there will be groups of people who "game" it (spend disproportional amount of time to "train" their kids vs actual natural talent - not sure if this is good or bad).

So, it feels to me ideally within the same classroom there should be a natural way to work on your own pace at your own level. Is it possible? Have no idea - seems not, again primarily because it requires a completely different skillset and attention from teachers.
by verbify | 2025-08-22 16:53:58+00:00
The article claims that:

a) AI is a bubble

b) It's about to burst

This is based on a study that "just 5pc of integrated AI pilots are extracting millions in value, while the vast majority remain stuck with no measurable P&L [profit and loss] impact".

I think the conclusions (while possibly true) are not supported here. By comparison, in the stock market in general, just a handful of stocks provide most of the returns over the past few decades. This does not mean the stock market is a bubble or about to burst.
by JustExAWS | 2025-08-22 16:54:15+00:00
There is a huge difference between not wanting to be around people who don’t agree with you about the benefits and drawbacks of supply side economics and not wanting to be around someone who disrespects you as a person because of the color of your skin.

Neither he (half Asian) or I (Black guy) owe the latter our time or energy to get along with. Let them wallow in their own ignorance.