MurphyA/hacker-news huggingface dataset:
by uticus | 2025-07-19 11:43:02+00:00
> Pushing these into an IDE is the Windows way of doing things.

I used to think in this idealistic way - if I can't reasonably use the language in VIM (without plugins of course!) the language is flawed, etc.

Lately I've come to embrace the viewpoint that a mixture of language features and great editor support are what enable productivity and creativity.
by ot | 2025-07-19 11:43:58+00:00
`NoDestructor` just ensures that the destructor is not called on the wrapped object, but you still need to manage the lifetime. If you look at the example, its recommended usage is with a function static. In other words, it's a utility to implement leaky Meyers' singletons.

std::launder is a bit weird here. Technically it should be used every time you use placement new but access the object by casting the pointer to its storage (which NoDestructor does). However, very little code actually uses it. For example, every implementation of std::optional should use it? But when you do, it actually prevents important compiler optimizations that make std::optional a zero-cost abstraction (or it did last time I looked into this).
by _nalply | 2025-07-19 11:44:30+00:00
Maybe. Maybe not. Given the human material (yes I know a dehumanizing formulation, but that's what Corporate does) it seems it's better not to step on anybody's toes except if it's abundantly clear that the person doesn't have a voice in things, but even then it's risky. Corporate is self-selecting: companies that don't generate profit die off sooner or later. Therefore we can conclude (if a bit shakily) from the norm in Corporate not to insult anybody that internal strife has been very damaging and therefore that Corporate self-selects in an evolutionary manner to avoid anything that leads to internal strife.
by CharlieDigital | 2025-07-19 11:44:48+00:00
Hard disagree on path based namespace inference.

It's a pain to couple these two and you end up with giant stacks of `import`s in "modern" JS.

When you reorganize files, now references need to be updated in many places. The editor slows to a crawl as the files are updated and the LSP has to process the changes.

Big yikes. I hate it in TS/JS because its a paper cut that doesn't need to exist. Namespaces make refactoring organization structure way less jarring and at least I do that very frequently in certain lifecycles of code.
by thrance | 2025-07-19 11:45:16+00:00
It's always the same argument, and it is true. The US retained an edge over the rest of the world through deregulating tech.

My issue with this is that it doesn't look like America's laissez-faire stance on this issues helped Americans much. Internet companies have gotten absolutely humongous and gave rise to a new class of techno-oligarchs that are now funding anti-democracy campaigns.

I feel like getting slightly less performant models is a fair price to pay for increased scrutiny over these powerful private actors.
by perching_aix | 2025-07-19 11:45:58+00:00
It's not that I agree with the characterization in the OP, that these formats are deliberately obtuse. It's that I do agree about them being obtuse, and that being able to say that you can auto-generate bindings for them doesn't actually help to make them not obtuse.

I do also think that Office should have created separate formats for project files and export files; if an RTF can hold onto all the formatting details of a typical Word document sufficient for pixel-accurately rendering it for example, then they should have conveyed that better and promoted it as the default export format (along with the idea of an export format), rather than immediately hitting people with a popup that claims their data will be partially lost. If this does exist (just not as an RTF), this point still stands - I don't use it, nobody I know uses it, so it may as well not exist.

Current state of affairs is people passing around docx, xlsx, etc. files, which are project files, hence why they (have to) contain (fancifully) serialized application state. Imagine if people passed around PSDs rather than PNGs. Or if people passed around FLPs rather than WAVs, FLACs or MP3s. It's this separation between the features of a document / spreadsheet / presentation and the features of the authoring software that appears to be completely absent from Microsoft Office, and this is something that just based on the information I have available, MS can legitimately be faulted for. Transitioning from a bespoke binary format to an XML based format with schemas available did basically nothing to help this.

And while it might seem like that I'm suggesting that export formats are this cleanly definable, self-evident things, I don't actually mean to suggest so either. It'd have had to have been a business decision. To where to draw the line would have been a decision that apparently never came to be debated internally, from what anyone can currently tell in retrospect at least, from the outside.
by bjoli | 2025-07-19 11:46:19+00:00
After getting used to systemd, I decided to put my toes in the water and try guix. From a user's perspective you never really don't have to care much. Even complex services are pretty simple, and it is really not like you are doing anything different.

The downside is, of course, that more and more of the linux userland depends on systemd. That is bound to become a problem sooner or later.

My biggest gripe is that I would like to have a simpler way to install it onto my computer. I need nonguix to even boot on one of my computers, but I really really hate doing that because doing a system install from nonguix has a tendency to break things for me later on.
by wasmperson | 2025-07-19 11:46:21+00:00
I'm not usually in the "defending C++" camp, but when I see this:

pub const File = struct { pub fn writer(self: *File, buffer: []u8) Writer{ return .{ .file = self, .interface = std.Io.Writer{ .buffer = buffer, .vtable = .{.drain = Writer.drain}, } }; } pub const Writer = struct { file: *File, interface: std.Io.Writer, // this has a bunch of other fields fn drain(io_w: *Writer, data: []const []const u8, splat: usize) !usize { const self: *Writer = @fieldParentPtr("interface", io_w); // .... } } }

...I can't help but think of this:

struct FileWriter: public Writer { File *file; // this has a bunch of other fields FileWriter(File *self, span<char> buffer) : Writer(buffer), file(self) {} size_t drain(span<span<char const> const> data, size_t splat) override { // .... } };

Writing code to build a vtable and having it implicitly run at compile time is pretty neat, though!
by miggol | 2025-07-19 11:46:48+00:00
I have been using an untranslate add-on like this one and have been absolutely loving it. Since YouTube has been AI translating video titles and dubbing contents it has been suggesting foreign videos in users' home feed.

The way these untranslate add-ons work (layman's explanation) is that they fetch the original title and audio and reinsert it, but the recommendation for the video stays in your feed. This has resulted in loads of super interesting foreign language content in my feed which is just awesome.

Cars are one of my YouTube interests and seeing loads of cool old car content from different parts of the world has been fascinating. Not only were different models popular in different places but the things people value in a car are also wildly different across the globe. And I get to listen to a cool foreign language while discovering this!

One downside is that to the YouTube algorithm, it probably seems like I absolutely LOVE this autodubbing feature, going crazy for all these translated videos. That could not be further from the truth: my youtube feed has become completely unusable without an untranslate add-on since this update.
by JohnFen | 2025-07-19 11:46:56+00:00
No, I didn't say that. I said it was a small example, not proof. And yes, it is a small example. If events like that were the only place that you may be singled out for attention, it wouldn't mean much. But since this is an easily recognizable instance of what is much much larger and extremely common thing, it's a useful example.
by knuckleheads | 2025-07-19 11:47:12+00:00
The Federal Register is the log of the changes, the Code of Federal Regulations is the product after applying all those changes. The Code is only about 190,000 page, so about 20 times less, which means if you abandoned your antisocial ways and made one friend (and, big stretch, another one to account for future growth of the code), the two/three of you could bleed out a copy of the updated Code by yourself each year for the foreseeable future.
by fn-mote | 2025-07-19 11:48:22+00:00
1. Thank you for the first hand experience post.

2. I think the argument being made is that the credit card companies are not actually experiencing higher risk (from Steam). Not that they have any qualms about putting a business into a “high risk” classification.

In this case, I suppose the argument is that Steam is a large enough entity that they should be able to “self-insure”. If the US had a relatively open way to become a payment processor, the free market would take care of this. Unfortunately that isn’t the case and also is very unlikely to change.
by codpiece | 2025-07-19 11:48:26+00:00
Clear Linux was fast and FUN to work with, and the team were highly responsive a few years ago. The mood on their community board changed and they got more terse in their focus and responses. You could kind of feel a change coming.

Fortunately, some distros adopted their kernel optimizations; Pop_os, I think you can find it branched in Arch, not sure if others.

If any of the team are on this thread; thank you.
by TFYS | 2025-07-19 11:48:42+00:00
No, we can't be sure. There's a lot of diseases that we don't know the cause of, for example. Cancers, dementia, Alzheimer's, etc. There is a possibility that the rates of those diseases are higher because of plastics. Plastic pollution also accumulates, there was a lot less plastic in the environment a few decades ago. We add more faster than it gets removed, and there could be some threshold after which it becomes more of an issue. We might see the effect a few decades from now. Not only on humans, but it's everywhere in the environment now, affecting all life on earth.
by ktallett | 2025-07-19 11:49:32+00:00
I think honestly it's probably different experiences and skillsets. I find these sort of things doable bar dumb mistakes by myself, yet there will be other things I'll get stressed and not be able to do for ages (some lab skills no matter the number of times I do them and some physical equation derivations that I regularly muck up). I maybe sometimes assume that what comes easy for me, comes easy for all, and what I struggle with, everyone struggles with and that's probably not always the case. Likewise I did similar tasks as a teen in school and assume that is possibly the case for many academically bright so to speak but perhaps isn't so that probably helped me learn some tricks that I may not have otherwise. But as you say I do feel that you can learn the tricks and learn how to do them, even in older age (academically speaking) if you have the time and the patience and the right guide.
by anymouse123456 | 2025-07-19 11:49:34+00:00
This idea that performance is irrelevant gets under my skin. It's how we ended up with Docker and Kubernetes and the absolute slop stack that is destroying everything it touches.

Performance matters.

We've spent so many decades misinterpreting Knuth's quote about optimization that we've managed to chew up 5-6 orders of magnitude in hardware performance gains and still deliver slow, bloated and defective software products.

Performance does in fact matter and all other things equal, a fast product is more pleasurable than a slow one.

Thankfully some people like the folks at Figma took the risk and proved the point.

Even if we're innovating on hard technical problems (which most of us are not), performance still matters.
by giantg2 | 2025-07-19 11:49:52+00:00
"from my pocket to some rich investor somewhere"

Or your retirement account. Everyone is mad about investors and companies making money. Sure, there are ultra wealthy people (mostly founders) that benefit disproportionately. However, most people who hope to retire some day rely on a 401k, pension, etc which is dependent on stocks. Retirement accounts have about $36T in the US, mostly in equities and corporate bonds.
by saidinesh5 | 2025-07-19 11:50:26+00:00
One of the surprising failure i didn't anticipate with bicycles was how little contact the tires made with the road..

Even when the brakes fully work, the tires don't provide enough traction to stop quickly ...

Ever since that last big crash I am way more cautious about all the ways my bicycle can fail me while riding.. the one good thing is there aren't that many parts to worry about with bicycles
by fsloth | 2025-07-19 11:50:46+00:00
Great tooling is 50% of what makes C# and F# so damn good. For the love of god don’t write C# in a text-editor. The live debugger gives you over 80% of what people gush about in lisp-interactivity - a live program environment you can poke and introspect.

Being able to observe a live program in a debugger is so much more powerfull technique. I know there are people out there who can architect anyhting from first principles and deduction - but unless you are really strong it that way live IDE wins.
by abetol | 2025-07-19 11:51:07+00:00
Gen-X doesn’t want to be manipulated.

Millennial advertising doesn’t adhere to 20th century advertising norms.

Gen-X is getting older and needs fiber and to lose weight, so they respond to “oats”.

Millennials and Gen-Z want healthy-looking drinks that are trendy and fun, because they’ll never be able to pay off their college loans and grew up during a time where politics were divided and assume we may all die from global warming and WW3 so they just want to be healthy and happy.

This ad is trying to say, “We’re not going to say this is healthy, or will make you feel free, or is a fast meal substitute. It’s just oat milk.”

That pretty much appeals to all of them.
by ZeroSolstice | 2025-07-19 11:51:25+00:00
This is common compliance nomenclature. The only people paying the high cost to have a full sized piece of equipment destroyed are governments or R&D companies with unique prototypes.

The hard drives are most likely being shredded since that is a common practice and certification feature offered by most disposal companies.

The servers are being "destroyed" because thats how they will be accounted for in inventory and tax purposes to account for full depreciation. The company isn't "selling" the servers to the disposal company so they are marked as "destroyed."

Unless specified in the contract the disposal company will sell the chassis without the drives to a reseller or if they are being paid to dispose of the system, they will separate the components and recycle the metal.

The same goes for the power and network cables, they will go off to a recycler, its how disposal companies off-set their pricing.
by acdha | 2025-07-19 11:51:57+00:00
Sure, technical documents are long but that still doesn’t support the original claim that they are “unnecessarily complex, bloated, convoluted” and it’s actually evidence against the assertion that they’re “difficult to implement without specific knowledge of its features”: most of why those are long documents is that they carefully detail how necessarily complex systems interact in sufficient detail to implement them whereas the Office XML specs at least historically had things like flags telling to behave like, say, Word95 without fully specifying the behaviour in question.
by rtsil | 2025-07-19 11:52:36+00:00
I'm in France, but my Google, browsers and devices languages are English. So Youtube randomly auto-dubs (and auto-translates the title of) some French videos into English, and some English videos into French. But they're never the same videos depending on the devices or the browsers. However, the automatic subtitles during the preview remain in the original langage.
by xg15 | 2025-07-19 11:52:40+00:00
Yeah, I'm not from the field, so I'm probably missing the cause of that negativity?

I can just try to explain what part of this I'd find valuable to research.

All that speculation - mine's, GP's, OP's - hinges on one assumption: That something like hereditary visual detectors in the brain exist.

I.e. that there are structures in the brain that have "weights" for large eyes, or cat features or spider features, etc etc - and that those weights are not learned by the individual, but are somehow "hardcoded" and passed down the germ line - which would allow them to be "learned" through evolution of the species.

As a programmer and with my hobbyist understanding of molecular biology, I'd see this as a pretty remarkable hypothesis. Right now, I don't see how this could possibly work: The brain and even the eyes of every person are different, so how could such a detector be "reconstructed" on a cellular level for an individual who has never seen a spider?

It would also raise interesting follow-up questions, both if it were confirmed or disproven:

If it were confirmed, does this mean there are encoded bits of visual information in the DNA? Could we decode them somehow and get "photographs" from prehistoric or even pre-human times? (Or well, less photographs and more something like the "eigenfaces" of face detectors) Are there more such hardwired circuits we didn't know yet? Are there similar circuits for other senses or for higher-level areas in the brain?

On the other hand, if it were disproven, we'd have to rethink situations where we take the existence of such hardwired stimuli almost for granted, like in sexual imagery.

The cat stuff itself has no predictive value, but it points into directions that could deliver it.
by 01HNNWZ0MV43FF | 2025-07-19 11:53:36+00:00
> Why can't browsers adopt a system like video streaming, where you "stream" a binary of your site?

I'll have to speculate what you mean

1. If you mean drawing pixels directly instead of relying on HTML, it's going to be slower. (either because of network lag or because of WASM overhead)

2. If you mean streaming video to the browser and rendering your site server-side, it will break features like resizing the window or turning a phone sideways, and it will be hideously expensive to host.

3. It will break all accessibility features like Android's built-in screen reader, because you aren't going to maintain all the screen reader and braille stuff that everyone might need server-side, and if you do, you're going to break the workflow for someone who relies on a custom tweak to it.

4. If you are drawing pixels from scratch you also have to re-implement stuff like selecting and copying text, which is possible but not feasible.

5. A really good GUI toolkit like Qt or Chromium will take 50-100 MB. Say you can trim your site's server-side toolkit down to 10 MB somehow. If you are very very lucky, you can share some of that in the browser's cache with other sites, _if_ you are using the same exact version of the toolkit, on the same CDN. Now you are locked into using a CDN. Now your website costs 10 MB for everyone loading it with a fresh cache.

You can definitely do this if your site _needs_ it. Like, you can't build OpenStreetMap without JS, you can't build chat apps without `fetch`, and there are certain things where drawing every pixel yourself and running a custom client-side GUI toolkit might make sense. But it's like 1% of sites.

I hate HTML but it's a local minimum. For animals, weight is a type of strength, for software, popularity is a type of strength. It is really hard to beat something that's installed everywhere.
by troupo | 2025-07-19 11:54:06+00:00
> The EU regulation, as-is, simply will not allow a new technically superior connector to enter the market.

As in: the EU regulation literally addresses this. You'd know it if you didn't blindly repeat uneducated talking points by others who are as clueless as you are.

> Standardization like this is difficult to achieve via consensus - but via policy/regulation?

In the ancient times of 15 or so years ago every manufacturer had their own connector incompatible with each other. There would often be connectors incompatible with each other within a single manufacturer's product range.

The EU said: settle on a single connector voluntarily, or else. At the time the industry settled on micro-USB and started working on USB-C. Hell, even Power Delivery wasn't standardized until USB-C.

Consensus doesn't always work. Often you do need government intervention.
by ffsm8 | 2025-07-19 11:54:47+00:00
Are you serious unaware what a RAG is and still speak with authority on the topic?

It's automatically retrieving information and adding it to the context. It's -in spirit- a convenience function so you don't have to manually provide it during the prompt. It's just a lot harder to pull off well automatically, but the fundamental practice is "just" context optimization

You're essentially saying "but that's not driving!!!!" After someone goes by in an EV, because it's ain't an ICE
by al_borland | 2025-07-19 11:55:32+00:00
I’ve know people in leadership who have the remaining team re-write anything from parting members when they leave, so the remaining team actually understands the code base. I kind of like this idea, if the culture will support it.

I have mixed feelings on maintaining other’s code. Changing 412 to 200 sounds trivial, but do you know where else in the code it may be looking for 200 vs 412? Others that may rely on it? These are where bugs are formed.

Someone asked me for a “trivial” change to someone else’s code a couple weeks ago. They told me it would take 15 minutes, tops. I pushed back and refused to commit to doing it on any kind of timeline. After the call I looked at the code. I had made some other minor changes in the past (things I made that needed to be integrated into a bunch of places), but looking at the bulk of it, it was 6 years old and mostly irrelevant. Doing what they asked probably would have taken a few hours, but doing what was needed to achieve the stated goal of the code in 2025, would be more like a week+… a full re-write and some meetings with engineering and operations to better understand what is needed these days. It’s rarely as trivial as people make changes out to be.

They ended up just asking for access to run the existing code, and said they’d work around me so I would have to do nothing more than add a service account for access. Fine. A week later they were asking me for code changes again, to support adding results into a ticketing system that didn’t exist when the code was written. So much for not having to do anything or 15 minutes.

It’s almost never as quick and trivial as people say. What are the competing priorities of the team and individual? Where do these tasks fall? What is the culture like, if he makes that one update is he then the owner of all that code and responsible and accountable for it all? I’ve seen that pretty often, and it makes people not want to sign on to old code from others.
by TFYS | 2025-07-19 11:56:19+00:00
Maybe not as fast as we did, but eventually we would have. Maybe more research would have been put into other forms of energy if the effects of fossil fuels were considered more thoroughly and usage was limited to a degree that didn't have a chance cause such fast climate change. And so what if the rate of progress would have been slower and we'd be 50 years behind current tech? At least we wouldn't have to worry about all the damage we've caused now, and the costs associated with that. Due to that damage our future progress might halt while a slower, more careful society would continue advancing far into the future.