MurphyA/hacker-news huggingface dataset:
by matu3ba | 2025-11-12 07:26:34+00:00
> Author completely misunderstands how to use exceptions and is just bashing them. A lot of what he says is inaccurate if not outwardly incorrect.

Do you mind to elaborate what you believe are the misunderstandings? Examples of incorrect/inaccurate statements and/or an article with better explanations of mentioned use cases would be helpful.

> it's called std::expected

How does std::expected play together with all other possible error handling schemas? Can I get unique ids for errors to record (error) traces along functions? What is the ABI of std::expected? Stable(ish) or is something planned, ideally to get something C compatible?
by atmavatar | 2025-11-12 07:27:18+00:00
Purdue is one pharmaceutical company. Given their behavior, I find no fault with anyone who'd distrust products from Purdue specifically. However, it appears Purdue doesn't produce any vaccines, so it is orthogonal to the discussion.

> You think the opioid campaign is the only real wrongdoing by pharmaceutical companies??

I'm open to the possibility of there being additional wrongdoing by Purdue or other pharmaceutical companies, perhaps even related to vaccines. However, the fact that one pharmaceutical company engaged in (admittedly pretty egregious) wrongdoing with respect to opioids does not itself prove any wrongdoing regarding vaccines made by itself or other companies. Assuming otherwise is falling victim to a syllogistic fallacy.

Answering my call for evidence of wrongdoing specific to vaccines with such a conspiratorial-minded question suggests you have no such evidence. I implore you to prove me incorrect.
by mrcsharp | 2025-11-12 07:27:40+00:00
This 100%. I hate the trend of UX/UI that got unleashed upon us in the last decade of the web. Everything is scaled up for touch interactions and has to have fancy animation and very "comfortable" spacing around elements.

I wish we can go back to UIs that focus on information density and usability. I love looking at Japanese websites because of this.
by magicalhippo | 2025-11-12 07:29:01+00:00
What I liked about Bosst's error_code[1], which is part of the standard library now, is that it carties not just the error but the error category, and with it a machinery for categories to compare error_codes from other categories.

So as a user you could check for a generic file_not_found error, and if the underlying library uses http it could just pass on the 404 error_code with an http_category say, and your comparison would return true.

This allows you to handle very specific errors yet also allow users to handle errors in a more generic fashion in most cases.

[1]: https://www.boost.org/doc/libs/latest/libs/system/doc/html/s...
Show HN: Omnilingual ASR – Global Speech Recognition for 1,600 Languages
by lu794377 | 2025-11-12 07:30:00+00:00
Hi HN, We built Omnilingual ASR, a large-scale multilingual speech recognition system designed to make transcription accessible worldwide. It supports 1,600+ languages, including 500 previously unsupported low-resource ones, all with state-of-the-art accuracy.

Unlike typical ASR models limited to major languages, Omnilingual ASR is trained on 4.3 million hours of multilingual audio, achieving <10% character error rate for 78% of supported languages. It scales from 300M to 7B parameters, allowing users to balance speed and precision for any task.

Key Features

• 1,600+ Language Coverage – Extendable to 5,400+ via zero-shot learning

• Zero-Shot Adaptation – Add new languages with just a few in-context examples

• Multi-Speaker Detection – Automatically identify and separate speakers

• Lightning-Fast Processing – Transcribe hours of audio in minutes

• Flexible Integration – REST API, Python SDK, and web UI for cloud or edge use

Use Cases

Global media subtitling, enterprise transcription, multilingual e-learning, accessibility services, and linguistic research.

We’d love feedback on:

• Potential use cases for low-resource language transcription

• Integration needs (APIs, SDKs, plugins)

• Research or language preservation applications

https://www.omnilingualasr1.com/?i=d1d5k
by TheAceOfHearts | 2025-11-12 07:30:10+00:00
I haven't tried a bluetooth device in years, is pairing still godawful? I wish they would give you the option to pair through USB. Just plug in the host and peripheral and press the pair button, and it should automatically negotiate pairing. I don't care if it requires the hassle of occasionally having to plug something in to pair the two devices as long as it works 100% reliably.
by Animats | 2025-11-12 07:30:19+00:00
Nope. See this article in the Economist, "Grand Theft Global".[1]

What happens to the stolen phones? They're shipped in bulk to Huaqiangbei market in Shenzhen, there to be taken apart, reset, repaired, parts replaced, and resold to people in China who can't afford new phones.

The amusing thing is that the phones were probably originally built in Shenzhen.

[1] https://www.economist.com/leaders/2025/08/21/britain-leads-t...
by chrismorgan | 2025-11-12 07:30:33+00:00
> By 2028 or so we'll have a 50% drop in price-per-storage for these components.

Do you mean relative to six months ago, or now? Because a lot of the prices have already more than doubled.

(I’m upset because the computer I’ve been planning to build, which three months ago would have come to around ₹90,000, is now up to ₹1,20,000 and climbing week by week, half due to price increases on the same part, half due to forced substitutions on RAM since the cheaper 32GB 6400MT/s DDR5 sticks are completely unavailable. And looking into laptops, for the first time ever I’m seeing manufacturet SODIMM or SSD upgrades being cheaper than aftermarket.)
by simonebrunozzi | 2025-11-12 07:31:19+00:00
It was a personal project by ex-Microsoft CTO Nathan Myhrvold, a guy who spends insane amount of money for weird/fun projects.

In 2010 he gave a TED Talk about a laser that could kill mosquitoes and therefore "end malaria". AFAIK, the project never worked properly, and it has been dead for a while now.

[0]: https://www.ted.com/talks/nathan_myhrvold_could_this_laser_z...
by samdoesnothing | 2025-11-12 07:31:26+00:00
> Eh? Violence? For refusing mandatory upkeep around your home and neighborhood? Are you writing this from North Korea or something? How is fining you such a foreign concept where you live that your government has to resort to violence to get you to do some upkeep as a homeowner?

What happens when you don't pay the fine? What happens when you resist the armed men at your door?

> outright insulting to human dignity to suggest that these are comparable to slavery

What's outright insulting to human dignity is authoritarians justifying slavery on the basis of "other forms are worse".
by howtofly | 2025-11-12 07:32:09+00:00
All this hassle can be avoided by using `cleanup` compiler attribute.

Manage classical C resources by auto-cleanup variables and do error-handling the normal way. If everything is OK, pass the ownership of these resources from auto-cleanup variables to C++ ctor.

Note this approach plays nicely with C++ exception, and will enter C standard in the form of `defer`.
by mrcsharp | 2025-11-12 07:32:11+00:00
C# has AOT compilation which creates a single, native binary. This has gotten so much better with .NET 10 and since the introduction of source generators to deal with reflection issues.

Also, check out nanoFramework for a .NET runtime that can run on MCUs like the ESP32 [1]

[1] https://github.com/nanoframework/Home
by samus | 2025-11-12 07:33:36+00:00
So what is Google gonna do if security fixes don't happen in time and the project takes a "reputational hit"? Fork it and maintain it themselves? Why not send in patches instead?

Maintaining a reputation might be enough reward for you, but not everyone is happy to work for free for a billion dollars corporation breathing down their necks. It's puzzling to me why people keep defending their free lunch.
by pmontra | 2025-11-12 07:33:36+00:00
Or do without exceptions for control flow. For example Elixir does have try/catch but it's used very rarely because most functions return tuples with the first element being either :ok or :error. Then we can pattern match it and return an :error to the caller if we have to, possibly bubbling up several levels return after return. Or let the process crash and restart while the rest of the application keeps running. A surprising number of errors eventually fix themselves (API calls, disk space, missing data) when you design the system to attempt more times to complete its tasks. That's not only a characteristic of Elixir and the BEAM languages. You can do it more or less easily on any language. Maybe you need a queue and workers reading from the queue and all it takes to manage them, and BEAM makes it convenient by including most of it.

The page about try/catch explains it well https://hexdocs.pm/elixir/try-catch-and-rescue.html
by troupo | 2025-11-12 07:35:29+00:00
Twitch definitely. This whole brouhaha has been brewing for a while, and can be traced back to a spat between Theo and ffmpeg.

In the now deleted tweet Theo thrashed VLC codecs to which ffmpeg replied basically "send patches, but you wouldn't be able to". The reply to which was

--- start quote ---

https://x.com/theo/status/1952441894023389357

You clearly have no idea how much of my history was in ffmpeg. I built a ton of early twitch infra on top of yall.

--- end quote ---

This culminated in Theo offering a 20k bounty to ffmpeg if they remove the people running ffmpeg twitter account. Which prompted a lot of heated discussion.

So when Google Project Zero posted their bug... ffmpeg went understandably ballistic
by maybewhenthesun | 2025-11-12 07:37:44+00:00
While there's sometimes maintainer-prima-donna egos the contend with there's also this:

Any patch sent in also needs to be maintained into the future, and most of the time it's the maintainers that need to do that, not the people contributing the patch. Therefore any feature-patches (as opposed to simple bugfixes) are quite often refused, even if they add useful functionality, because the maintainers conclude they will not be able to maintain the functionality into the future (because no one on the maintaining team has experience in a certain field, for example).

The quality bar for a 'drive by patch' which is contributed without the promise of future support is ridiculously high and it has to be. Other peoples' code is always harder to maintain than your own so it has to make up for that in quality.
by morshu9001 | 2025-11-12 07:38:16+00:00
Hm, not sure how you'd do this. OOM error auto bubbling up sounds dangerous because the inner code might not leave things in a consistent state if it exits unexpectedly, so that makes sense to manually handle, but it's tedious. Rust at least has nice ? and ! syntax for errors, unlike Go where the error-prone error handling actually ruins the entire language.
by hdgvhicv | 2025-11-12 07:39:00+00:00
So Scotland didn’t want to leave. And Scotland didn’t unite with England until after the Scottish King took over he English throne hundreds of years after the time of William Wallace

You might be confusing the U.K. with the USA where a pet of the country there wanted to leave and were refused and that did lead to war, and that happened far more recently than 700 years ago.
by 7373737373 | 2025-11-12 07:40:22+00:00
Check out the 5252 pages long "Intel® 64 and IA-32 Architectures Software Developer’s Manual Combined Volumes: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, and 4" :)

https://www.intel.com/content/www/us/en/developer/articles/t...

Direct link: https://cdrdv2.intel.com/v1/dl/getContent/671200
by drdaeman | 2025-11-12 07:41:21+00:00
LE Audio now has GMAP (Gaming Audio Profile) which supposedly solves the problem with HFP/HSP crap. However, almost no hardware out there seem to support it - the only one I’ve read about are some Creative earbuds (Aurvana 2, I think) with a BT-W6 dongle, and I don’t like earbuds (and dongles) so I haven’t tried those. Haven’t found any over-the-ear headset - if anyone knows of something, I would greatly appreciate any recommendations.
by dust42 | 2025-11-12 07:42:16+00:00
Bluez seems now to have support for 5.4.

But in general there is very little support for 5.4 from the hardware side right now. I looked into ESLs (electronic shelf labels) which should be directly supported by 5.4 but you find almost nothing. Would just be nice if one could take any manufacturer's ESLs and they would just work. Right now there is a plethora of different standards.

I wont hold my breath for 6.2 support. There are not many devs on bluez and on the kernel side.
by DeathArrow | 2025-11-12 07:42:48+00:00
.NET can be compiled to native binaries. .NET can be used for embedded development.

C# is more expressive and .NET comes with batteries included. Go is more explicit and more verbose.

You can pick up Go faster and is easier to reason about Go code when you first encounter a new project but C# feels like it enables you to develop faster and be more productive.

For web both are excellent and performant, even if they have different philosophy.

What I like about C# is that it becomes more functional and I can even mix F# in the projects if I want even more functional programming.
by mort96 | 2025-11-12 07:43:32+00:00
Why would they fix that in the standard when Qualcomm has a proprietary solution which generates royalties revenue for them? Qualcomm would probably vote against that when it comes up in Bluetooth SIG discussions

Same goes for A2DP with a remotely decent compression algorithm which doesn't sound like crap

I'm cynical enough to believe that these obvious huge missing parts of standard Bluetooth aren't accidental. They've surely noticed.
by kalleboo | 2025-11-12 07:44:11+00:00
I had to look it up, Apple has been shipping code for 2+ different ISAs simultaneously, continuously since 1994

68k+PPC 1994-2007, PPC32+PPC64 2003-2008, PPC+x86 2006-2008, x86+x64 2007-2019, x64+ARM 2021-2028(announced).
by probably_wrong | 2025-11-12 07:44:28+00:00
I think you should also quote this part:

> Within 60 days of the date of this order, the Secretary of War shall submit to the President (...) a recommendation on the actions required to permanently change the name of the Department of Defense to the Department of War. This recommendation shall include the proposed legislative and executive actions necessary to accomplish this renaming.

It may currently be a second name, but the explicit intention is for it to become the only one. In HN terms I'd argue that saying "there is no Department of War" is akin to arguing that a piece of software doesn't have feature X because it's only available in the beta release.
by petralithic | 2025-11-12 07:44:46+00:00
This sounds like a non sequitur to me, when did I ever say I disagreed with the fact that "they just want to get shit done?" I am not sure what your comment has to do with the part about misconstruing features for moving parts, for those are two independent things, and still more generally, like I said, people do pay for software that has more features than fewer.
by stpedgwdgfhgdd | 2025-11-12 07:44:51+00:00
Because Go has stronger compile-time type safety than Python. And of course concurrency.

Fwiiw I noticed that colleagues using other languages like Java and JS with Claude Code sometimes get compile errors. I never get compile errors (anymore) with Go. The language is ideal for LLMs. Cant tell how CC is doing lately for Python.
by jacquesm | 2025-11-12 07:45:03+00:00
Oh that's a really neat find. I'm not sure how 'instructions' map to 'reductions' in the sense that if you stop when a reduction is completed the system is in a fairly well defined state so you can switch context quickly, but when you stop in mid reduction you may have to save a lot more state. The neat thing about the BEAM is that it is effectively a perfect match for Erlang and any tricks like that will almost certainly come with some kind of price tag attached. An interrupt is super expensive compared to a BEAM context switch to another thread of execution, you don't see the kernel at all, it is the perfect balance between cooperative and preemptive multitasking. You can pretend it is the second but under the hood it is the first, the end result is lightning fast context switches.

But: great find, I wasn't aware of this at all and it is definitely an intriguing possibility.
by AlexeyBelov | 2025-11-12 07:45:36+00:00
Not wrongdoing, but maybe sealioning and other forms of light trolling with plausible deniability. Maybe others grew a bit tired of this and he wouldn't change his behaviour.

The fact that there is no official concrete list of bannable posts suggests there are no standalone posts to look at and be like "wow, how come he's not banned yet". On the other hand I know people who walk a very tight line and find loopholes in every rule, and mods have a very hard time "officially" banning those types (even for a short time to help them reflect on their behaviour). Maybe it was like a town where the main bully met unfortunate circumstances and all twenty witnesses haven't actually seen anything for some reason.
by senderista | 2025-11-12 07:47:23+00:00
Or, if you don't want to go to the trouble of writing an RAII wrapper class for FILE*, just use scope_guard and (after determining that fopen() succeeded) register a lambda to close the FILE* on exiting the function (including by throwing an exception). I'm not a huge fan of scope_guard (or defer() in other languages), but it gets the job done for one-off cases.
by withinboredom | 2025-11-12 07:47:54+00:00
It’s just moving this into the application level, but it’s still 2pc.

Intent: Begin the durable execution (i.e. resonate.run)

Prepare: Write to the system of reference -- safe to fail here.

Commit: Write to the system of record -- the commit boundary.

Ack/Recovery: checkpointing + idempotent replays.

Abort/Compensation: panic or operator intervention.

Ordering operations has always been a thing you should do. And they’re treating this as a distributed system to simulate an ACID transaction. For example, if you ever do locks of multiple things, the order you take the locks has to be the same across the entire system so that you never deadlock. If your database is taking locks, then order matters there too. They rediscovered what us in the distributed systems world have always known and fairly well-documented: ordering is how you simulate time and prevent paradoxes.
by albertzeyer | 2025-11-12 07:48:18+00:00
I was looking for various options to archive my data (photos, documents, code), and have looked at Perkeep since a while, but then started using Git-Annex.

However, I regret this decision. Git-Annex is not usable anymore on my data because the amount of files has grown so much (millions) and Git-Annex is just too slow (it takes minutes up to even hours for some Git operation, and the FS is decently fast). I assume I would not have had those problems with Perkeep.
by time4tea | 2025-11-12 07:48:46+00:00
Would be interested to know about the a11y story on web and other platforms. Does it integrate with screen readers, accessible navigation tools, a11y apis, etc.

This is somewhere quite a few tools fall down. For example, for web: Rendering to canvas doesn't create the dom nodes required to hook into the tools, and creating the nodes appropriately can have a significant performance impact.

What about native a11y tools and tech.. there are some ios specific ones that you'd expect on an ios app for example.
by rjdj377dhabsn | 2025-11-12 07:49:01+00:00
Do you think most bigger drug dealers and prostitutes pay tax on their income?

I'd think it would be hard to have $100k+ flowing into your account with no explanation.

I've been curious what most countries will do for these situations as they go cashless. Non-KYC'd crypto seems like a natural solution, but I haven't seen it used much outside larger organizations.
by febusravenga | 2025-11-12 07:49:26+00:00
I think i agree with commenters that article kind-of uses exceptions wrong.

But this shows problems with C++ exceptions, C++ codebases are literred with bad exception usage because "normal" programmers don't get it. Most of didn't get it for long time. So, they are complex enough that their usage is risk.

Anyway, IMO C++ exceptions have two fundametal problems:

* lack of stacktrace, so actually lack of _debugabbility_, that's why people try/catch everything

* destructor problem (that actually there are exceptions tht cannot be propagated further and are lost
by subscribed | 2025-11-12 07:50:19+00:00
One of my past employers in the UK added to the policy all the software the employee writes during the employment (eg. during the weekend, on the personal hardware), is owned by the company.

Several software engineers left, several didn't sign it.

Yes, company was very toxic apart of that. Yeah, I should name and shame but I won't be doxxing myself.
by watwut | 2025-11-12 07:50:37+00:00
It is not joke. He punished companies for not obeying. "It was just a joke bro" is stupid manipulative excuse in normal situations, but in the case of Trump, it is a complete unambigous lie.

It was not a joke, no one laught. It is what republican leader said in all seriouaness and insisted on. And his voters seen it as a show of strength.
by cadamsdotcom | 2025-11-12 07:51:07+00:00
Bureaucracy was originally intended as an idyllic ideal: everything would be written down and everyone’s job made clear, so everyone could get the info to do their bit and just get on with it.

And all collaboration that will be needed is perfectly anticipated then shifted to compile time by being designed into the system on day one. Everyone just does their bit and the whole thing functions perfectly, because the designers anticipated everything.

So yeah, no need for collaboration

/s
by ryan_lane | 2025-11-12 07:51:08+00:00
> His questions did not carry any such implication and that is a blatant misrepresentation of the argument he was making.

I also read through this in-depth at the time, and yeah, he definitely did carry such implication. Hiding it through quoting bad science doesn't aid his cause.

He's a racist and a sexist, and he's just good at doing in a quasi-grey area, so that other racists can rally behind him. It's effectively the alt-right playbook, as the alt-right is just a "more commercially friendly KKK".
by pavelai | 2025-11-12 07:51:38+00:00
Well, the history of software development shows that everything is changing and don't lasts forever. Golden age of SaaSes now is going to fade (at least for current version and for some time, maybe a decade). Today junior developers can create a fully working SaaS with dozens of features without even knowing how it works. And they would spend a few weeks or evenings to develop it. We are about to see a flood of services and it will make all the business model obsolete. This is what is happening now at Github. You can see a lot of excellent projects which were written by AI, and no one wants to contribute to these projects, because they can do the same project on themselves
by Brian_K_White | 2025-11-12 07:51:56+00:00
it's only better if you can act on it equal to the bad guys. If the bad guys get to act on it before you, or before some other good guys do on your behalf, then no it's not better

remember we're not talking about keeping a bug secret, we're talking about using a power tool to generate a fire hose of bugs and only doing that, not fixing them