MurphyA/hacker-news huggingface dataset:
by riehwvfbk | 2025-05-16 04:53:48+00:00
You are very very unlikely to trigger Linux overcommit behavior by not initializing a member variable. It's even more unlikely for this to be a good thing.

In effect, you are assuming that your uninitialized and initialized variables straddle a page boundary. This is obviously not going to be a common occurrence. In the common case you are allocating something on the heap. That heap chunk descriptor before your block has to be written, triggering a page fault.

Besides: taking a page fault, entering the kernel, modifying the page table page (possibly merging some VMAs in the process) and exiting back to userspace is going to be A LOT slower than writing that variable.

OK you say, but what if I have a giant array of these things that spans many pages. In that case your performance and memory usage are going to be highly unpredictable (after all, initializing a single thing in a page would materialize that whole page).

OK, but vectors. They double in size, right? Well, the default allocator for vectors will actually zero-initialize the new elements. You could write a non-initializing allocator and use it for your vectors - and this is in line with "you have to say it explicitly to get dangerous behavior".
by izanamador | 2025-05-16 04:54:55+00:00
Everyone deserves a Wikipedia page — even if it's totally made up. Fakepedia lets anyone create a hilarious, beautifully formatted, fake Wikipedia bio about themselves (or their friends) by answering a few playful prompts. It generates a satirical life story with fake controversies, epic accomplishments, and mythical quotes — all wrapped in a shareable, meme-ready design.

Whether you're a “retired pirate turned startup guru” or “the first person to yawn in space”, Fakepedia turns your imaginary legacy into something worth sharing. Great for social media, parties, or just confusing future historians.
by actinium226 | 2025-05-16 04:55:34+00:00
I see 3 problems so far:

1. Looking at the data, a linear regression is fit to data that looks anything but linear, calling into question the validity of the model

2. The units in some of the table are unclear, but overall it's not clear to me how much the brain shrinks in this data. As in, how significant of an effect is this? And I'm not talking about statistical significance.

3. This is correlation not causation. Maybe if your brain shrinks you can't focus long enough to move around.
by Disposal8433 | 2025-05-16 04:56:46+00:00
I like small details like the fake labels "Enhancement, Compatibility, Cross-platform" at the bottom of the issue to show that they don't take time fill those issues properly.

If you look at the PRs, you can see a shitshow where one unique commit dumps everything without any explanation, and where they duplicate the code of each library for no reason. Employees spamming projects with bad code shows that Huawei is a bad company. Shame.
by plantain | 2025-05-16 04:56:56+00:00
User-generated 'free' content - ok, I kind of get it. The volume is insane, the product is not viable with everything reviewed.

Paid advertising though? How is it I get Facebook adverts for drugs, with pictures of the drugs, or fake money, from BLUE TICK advertisers? Obviously zero review, LLM or human.

How is it that with paid advertising they can't have one human or even a savvy LLM in the loop spend one single CENT's worth of time reviewing the adverts?
by sien | 2025-05-16 04:56:56+00:00
It's a large absolute value. That kind of money is going to come with accountability which is where many of the issues do start.

Presumably it's hard to get part time work that pays that well. That is also a catch.

But if you're getting 3 times the salary if you could work 2 days a week in industry you'd make more than academia and have freedom for the rest of the week.
by JdeBP | 2025-05-16 05:00:12+00:00
Multiplications of this word length, one should clarify. It's not that multiplication was an inherently more expensive or different operation back then (assuming from context here that the "old days" of coding inner loops in assembly language pre-date even the 32-bit ALU era). Binary multiplication has not changed in millennia. Ancient Egyptians were using the same binary integer multiplication logic 5 millennia ago as ALUs do today.

It was that generally the fast hardware multiplication operations in ALUs didn't have very many bits in the register word length, so multiplications of wider words had to be done with library functions that did long multiplication in (say) base 256.

So this code in the headlined article would not be "three instructions" but three calls to internal helper library functions used by the compiler for long-word multiplication, comparison, and bitwise AND; not markedly more optimal than three internal helper function calls for the three original modulo operations, and in fact less optimal than the bit-twiddled modulo-powers-of-2 version found halfway down the headlined article, which would only need check the least significant byte and not call library functions for two of the 32-bit modulo operations.

Bonus points to anyone who remembers the helper function names in Microsoft BASIC's runtime library straight off the top of xyr head. It is probably a good thing that I finally seem to have forgotten them. (-: They all began with "B$" as I recall.
by danjc | 2025-05-16 05:02:09+00:00
We built tools to give context to an ai chat help embedded in our product. Included is the ability for it to see recent activity logs, the definition of the current object and the ability to search and read help articles.

The quality of the chats still amazes me months later.

Where we find it got something wrong, we add more detail to the relevant help articles.
by monkeycantype | 2025-05-16 05:03:04+00:00
I have long deep close experience with people who create similar situations, who have no criminal intent, just a remorseless indefatigable belief that this time it's going to work, and I have witnessed many times that the vaster the vision, the more laws of physics violated, the more absurd the suspension of belief required to hold a narrative in your head, the more passionatley it will inspire certain people who are looking for a quest, a purpose so grand it will rewrite the story of their life in one bold move.
by CobrastanJorji | 2025-05-16 05:03:11+00:00
They did, yes. And there are fascinating failure stories for each one. But my point is that there were more miraculous successes than miraculous failures. Heck, in my opinion, given that the Space Shuttle flew in atmosphere like a brick, and given that there was no possible way to get a second shot at the landing strip, the fact that they landed successfully every time (except for Columbia, of course) is amazing.

The Apollo flights in particular were interesting. For example, in the case of Apollo 14, when Houston was literally reading new machine code to the astronauts over radio who were punching in POKE instructions by hand to change the code.
by latentsea | 2025-05-16 05:05:06+00:00
The amount of time spent churning on workflows and setups will offset the gains.

It's somewhat ironic the more behind the leading edge you are, the more efficient it is to make the gains eventually because you don't waste time on the micro-gain churn, and a bigger set of upgrades arrives when you get back on the leading edge.

I watched this dynamic play out so many times in the image generation space with people spending hundreds of hours crafting workflows to get around deficiencies in models, posting tutorials about it, other people spending all the time to learn those workflows. New model comes out and boom, all nullified and the churn started all over again. I eventually got sick of the churn. Batching the gains worked better.
by anigbrowl | 2025-05-16 05:06:27+00:00
I'm not a fan of the Daily Mail but they published the story first and with a variety of telling details: https://www.dailymail.co.uk/news/article-14713113/DHS-Secret...

I often make grumpy remarks blaming TV for social ills, but this is beyond parody. Guy Debord (author of the The Society of the Spectacle) was right all along.
by nmehner | 2025-05-16 05:06:33+00:00
https://listverse.com/2019/05/19/10-bizarre-calendar-fixes-t...

Everything before the introduction of the gregorian calendar is moot:

"In 1582, the pope suggested that the whole of Europe skip ten days to be in sync with the new calendar. Several religious European kingdoms obeyed and jumped from October 4 to October 15."

So you cannot use any date recorded before that time for calculations.

And before that it gets even more random:

"The priests’ observations of the lunar cycles were not accurate. They also deliberately avoided leap years over superstitions. Things got worse when they started receiving bribes to declare a year longer or shorter than necessary. Some years were so long that an extra month called Intercalaris or Mercedonius was added."
by eslaught | 2025-05-16 05:09:33+00:00
I'm not sure what the author intended, but one way to implement atomics at the microarchitectural level is via a load-linked/store-conditional pair of instructions, which often involves tracking the cache line for modification.

https://en.wikipedia.org/wiki/Load-link/store-conditional

It's not "24/7" but it is "watching" in some sense of the word. So not entirely unfair.
by thaumasiotes | 2025-05-16 05:10:18+00:00
> That is say you've got a 2×3×4×5 array, another way to think about that is you've got a 2×3 matrix of 4×5 matrices.

No, a grid of grids is the same thing as a grid.

You can lay out some 4×5 matrices within a 2×3 pattern to have something to look at, but the result is significantly less structured than the 4-dimensional space that the array represents.

***** ***** ***** *A*** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** **B** *****

How close are the points A and B? The taxicab distance is 5.
by josefx | 2025-05-16 05:12:59+00:00
> Note that in C++, reading from a variable before writing to it is undefined behavior, so it's not particularly clear what benefit you're getting from this.

The compiler cannot always tell if a variable will be written to before it is accessed. if you have a 100kb network buffer and you call int read = opaque_read(buffer); the compiler cannot tell how much or if anything at all was written to buffer and how size relates to it, it would be forced to initialize every byte in it to zero. A programmer can read the API docs, see that only the first read bytes are valid and use the buffer without ever touching anything uninitialized. Now add in that you can pass mutable pointers and references to nearly anything in C++ and the compiler has a much harder time to tell if it has to initialize arguments passed to functions or if the function is doing the initialization for it.
by 650REDHAIR | 2025-05-16 05:13:40+00:00
I was perma-banned on Reddit for “abusing” the report feature.

Reporting illegal firearms sales.

The post and report in question were ~6mo old at the time of review and I believe had already been deleted by either the OP or a sub mod.

I got a similar warning (but no ban) reporting similar sales on FB.

They don’t care to fix it
by jatins | 2025-05-16 05:15:00+00:00
> BCNY gives up on building Dia and instead figures out how to continue with Arc

They have already given up on Arc, haven't they? I believe Arc isn't under active development anymore.

Always seemed weird to me that they decided to abandon existing browser to create a ... browser? Maybe there were some technical issues with Arc that they couldn't build on or maybe just marketing play
by bruce511 | 2025-05-16 05:15:46+00:00
From a funding perspective I suppose it's pretty simple - like with all businesses the owners pony up the cash.

The regular model is that you need cash, so you go looking for it, selling (part) ownership.

In this case you have pre-determined the owners, and presumably their share %, so presumably they're putting up the cash.

Alternatively you can go with a non-ownership approach. Ie a loan. That'll vote either an interest rate, and usually dome collateral (which I guess also comes from the owners.) If you go this route I recommend you get a lawyer to clearly explain the implications of liability - one participant can easily be on the hook for the whole loan, not just their share of it. They'd be much better off taking small individual loans to "buy their share " than participating in a group loan.

Future admin work may also be affected by your governance model. There will be times when all owners need to sign, and you need to thus have mechanisms to strip ownership if the person leaves, or dies. Shareholdings which become part of their estate, and are inherited are a concern.

In short, you need a lawyer well versed in these structures. Not just internet advice.

I applaud your vision, but you need to think very carefully through all aspects of this.
by RiDiracTid | 2025-05-16 05:16:03+00:00
It confirms my understanding that lab culture and researcher quality is incredibly incredibly important in training a good model, and while Meta seems to have the money to hire the latter, there's just something rotten that makes them unable to execute well.

This gwern comment seems to describe the situation well:

https://www.lesswrong.com/posts/uPi2YppTEnzKG3nXD/nathan-hel...

> FB is buying data from the same places everyone else does, like Scale (which we know from anecdotes like when Scale delivered FB a bunch of blatantly-ChatGPT-written 'human rating data' and FB was displeased), and was using datasets like books3 that are reasonable quality. The reported hardware efficiency numbers have never been impressive, they haven't really innovated in architecture or training method (even the co-distillation for Llama-4 is not new, eg. ERNIE was doing that like 3 years ago), and insider rumors/gossip don't indicate good things about the quality of the research culture. (It's a stark contrast to things like Jeff Dean overseeing a big overhaul to ensure bit-identical reproducibility of runs and Google apparently getting multi-datacenter training working by emphasizing TPU interconnect.) So my guess is that if it's bad, it's not any one single thing like 'we trained for too few tokens' or 'some of our purchased data was shite': it's just everything in the pipeline being a bit mediocre and it multiplying out to a bad end-product which is less than the sum of its parts.

> Remember Karpathy's warning: "neural nets want to work". You can screw things up and the neural nets will still work, they will just be 1% worse than they should be. If you don't have a research culture which is rigorous about methodology or where people just have good enough taste/intuition to always do the right thing, you'll settle for whatever seems to work... (Especially if you are not going above and beyond to ensure your metrics aren't fooling yourself.) Now have a 1% penalty on everything, from architecture to compute throughput to data quality to hyperparameters to debugging implementation issues, and you wind up with a model which is already obsolete on release with no place on the Pareto frontier and so gets 0% use.
by w8nC | 2025-05-16 05:16:48+00:00
Now it’s just a wrapper around hosted APIs.

Went with my own wrapper around llama.cpp and stable-diffusion.cpp with optional prompting hosted if I don’t like the result so much, but it makes a good start for hosted to improve on.

Also obfuscates any requests sent to hosted, cause why feed them insight to my use case when I just want to double check algorithmic choices of local AI? The ground truth relationship func names and variable names imply is my little secret
by bensonn | 2025-05-16 05:18:03+00:00
Is Covered California a government entity, for profit, non profit, other...? Not that it matters.

"Leak" is not the right term. By default a "website" is a 404. Throw some HTML on there and users can see something. Adding LinkedIn tracking is a deliberate choice. Calling the data "leaked" is like saying a raft sprung a "leak" when the person in the raft punctured it 60 times (number of trackers). The data was shared and pushed to LI, on purpose. They (Covered CA) installed LinkedIn's code on their site. The code did exactly what it was intended to do, send data to LinkedIn.

A leak is accidental, this was a choice by Covered CA.
by morsecodist | 2025-05-16 05:18:48+00:00
Effective Altruism is such an interesting title. Almost no one views their Altruism as ineffective. The differentiator is what makes their flavor of Altruism effective, but that's not in the title. It would be like calling the movement "real Altruism" or "good Altruism".

A good name might be rational Altruism because in practice these people are from the rationalist movement and doing Altruism, or what they feel is Altruism. But the "rationalist" title suffers from similar problems.
by psychoslave | 2025-05-16 05:18:53+00:00
Hmm, French definitely has ornamental noun paradigms affecting articles and adjectives, exceptions to every single rule and things like that. But it lakes the cases that German add on top of this. Syntax is not as funny with verb at second position, or end of the phrase, separable verbs, and so on.

French of course also have many original grammatical torture instruments. You might think that as a bastard child between Latin and the Germanic Frank tribe dialects it’s no wonder, though elimination of noun declension is rather surprising from this perspective. The truth is that all languages out there have their own dungeon with many traps and treacheries included.

Fortune, nun ni ĉiuj parolas Esperanton. Kaj ne forgesas la akuzativo nin. :D
by motorest | 2025-05-16 05:19:21+00:00
> Coming from C, none of this made sense to me. Wut is `foo() = default;`?

C does not have member functions, let alone special member functions such as constructors. It's understandable that someone with a C background who never had any experience using a language besides C would struggle with this sort of info.

C++ improved upon C's developer experience by introducing the concept of special member functions. These are functions which the compiler conveniently generates for you when you write a simple class. This covers constructors (copy constructors and move constructors too). This is extremely convenient and eliminates the need for a ton of boilerplate code.

C++ is also smart enough to know when not to write something it might surprise you. Thus, if you add anything to a basic class that would violate assumptions on how to generate default implementations for any of these special member functions, C++ simply backs off and doesn't define them.

Now, just because you prevented C++ from automatically defining your constructors, that does not mean you don't want them without having to add your boilerplate code. Thus, C++ allows developers to define these special member functions using default implementations. That's what the default keyword is used for.

Now, to me this sort of complaining just sounds like nitpicking. The whole purpose of special member functions and default implementations is to help developers avoid writing boilerplate code to have basic implementations of member functions you probably need anyway. For basic, predictable cases, C++ steps in and helps you out. If you prevent C++ from stepping in, it won't. Is this hard to understand?

More baffling, you do not have to deal with these scenarios if you just declare and define the special member functions you actually want. This was exactly how this feature was designed to work. Is this too hard to follow or understand?

I think the problem with C++ is that some people who are clearly talking out of ignorance feel the need to fabricate arguments about problems you will experience if you a) don't know what you are doing at all and aren't even interested in learning, b) you want to go way out of your way to nitpick about a tool you don't even use. Here we are, complaining about a keyword. If we go through the comments, most of the people doing the bulk of the whining don't even know what it means or how it's used. They seem to be invested in complaining about things they never learned about. Wild.
by hn_throwaway_99 | 2025-05-16 05:19:22+00:00
> The report estimated organized scamming operations—often called “pig butchering” groups—comprise hundreds of thousands of people, many trafficked after falling for fraudulent social-media employment ads. Kept in prisonlike compounds, the workers are forced to work under threat of “extreme forms of torture and abuse.”

> West said the growth of this nightmarish industry stems directly from the inaction of Meta and, to a lesser extent, its social-media peers.

> “If there’s anybody who could make a huge dent here, it’s Meta,” she said. “But there’s no hammer over their head.”

This is just f'ing evil in my opinion. Meta could do something that would make a real dent in this problem, but they don't because money.

Meta is basically like a giant leaded gas or CFC factory - they just rake in money while they spew this toxic crap that society has to deal with. If Meta disappeared tomorrow I think the world would be a much better place, and despite some issues I may have with other companies, I really can't say that about any of the other Big Techs.
by chrisdirkis | 2025-05-16 05:20:00+00:00
A few quick q's, since I'm working on a game with a hand-rolled rollback impl (we have state copying, so we can do some nice tricks):

- Is there anywhere we can follow you about the clock-sync trick? I'd definitely love to be notified - On the adaptive delay, are there gameplay or rollback engine implications to variable delays? Seems somewhat "unfair" for a player to be penalised for poor network conditions, but maybe it's better than them teleporting around everywhere.

Good luck with the project! I'll hopefully have a fiddle around with it soon :)
Ask HN: Tech Test
by codebugging | 2025-05-16 05:20:39+00:00
I'm interviewing for tech roles and could use more practice with different types of tech tests, questions, scenarios, ec.

If anyone is willing to share some (coding challenges, design problems, questions, doesnt really matter, I will research anyway)

Just looking to try a variety of formats to be better prepared.

I'd really appreciate it, trying to get as much feedback as possible.

No worries if not, you don't owe me anything. I know everyone's busy.

Genuine ask, happy to share my linkedin/github.

Thank you
by kuruczgy | 2025-05-16 05:22:00+00:00
> Your type system cannot be sound. It's going to have escape hatches and exceptions because that's how dynamic languages roll.

I think you could prove that you can't construct a sound & complete type system for Lua. But just saying "Your type system cannot be sound" by itself is definitely wrong. I don't understand why people are throwing out both soundness & completeness, instead of at least retaining one (and I think the choice here is pretty obvious, a sound but incomplete type system is much more useful than an unsound one).

From Flow's website[1] (a type checker for JavaScript):

> Flow tries to be as sound and complete as possible. But because JavaScript was not designed around a type system, Flow sometimes has to make a tradeoff. When this happens Flow tends to favor soundness over completeness, ensuring that code doesn't have any bugs.

I don't understand why other type systems for dynamically typed languages cannot strive for that, and in particular I am pretty salty at TypeScript for explicitly not caring about soundness.

[1]: https://flow.org/en/docs/lang/types-and-expressions/#toc-sou...