MurphyA/hacker-news huggingface dataset:
by johnisgood | 2025-07-03 10:30:09+00:00
Look, I will not comment on D any further because it seems like it gets down-voted for no reason. Take your positive comments if you so wish, no need to down-vote the ones that express different opinions. You won. I will not be commenting on it any further. I shall NEVER be expressing my opinions on this language, nor will I ever raise any questions regarding the motivation for its implementation details.

People are too quick to use the "down-vote" button, and are too quick to judge. I love documentation, I write them. I am an active speaker against people who hate reading the documentation. This was not a case against reading documentation, yet people - wrongfully - believed so. People always glance past things like: "not fond of", and "in my opinion". It is tiresome.

This thread could have been educational, but instead it was a thread meant to bash me. It is my fault.
by lproven | 2025-07-03 10:30:21+00:00
True but the wrong point here.

Lots of different and only loosely related types of plant have evolved to be tall with thick strong stems to get above other plants and capture the light.

That is a way of growing, and we call it a tree, but the point here is not "trees do not exist" but "lots of totally different unrelated types of plant came up with being tree-shaped independently."
by JeanMara | 2025-07-03 10:30:24+00:00
>Deporting people who are in the country illegally

Oh? What about people who are permanent residents and are arbitrarily deemed "threat to national security" because of their opposition to Israel? What about the recent denaturalization DOJ unit that was just set up? Are those people "illegally" here too and that is constitutionally valid?

The tunnel vision here is astounding. Do you really not realize that this administration isn't stopping at "just the illegals?" They have deported US citizens, children at that.
by nickjj | 2025-07-03 10:30:35+00:00
Yep, it's really annoying.

I'm using Firefox with a normal adblocker (uBlock Origin).

I get hit with a Cloudflare captcha often and that page itself takes a few seconds before I can even click the checkbox. It's probably an extra 6-7 seconds and it happens quite a few times a day.

It's like calling into a billion dollar company and it taking 4 minutes to reach a human because you're forced through an automated system where you need to choose 9 things before you even have a chance to reach a human. Of course it rattles through a bunch of non-skippable stuff that isn't related to your issue for the first minute, like how much the company is there to offer excellent customer support and how much they value you.

It's not about the 8 seconds or 4 minutes. It's the feeling that you're getting put into really poor experiences from companies with near-unlimited resources with no control over the situation while you slowly watch everything get worse over time.

The Cloudflare situation is worse because you have no options as an end user. If a site uses it, your only option is to stop using the site and that might not be an option if they are providing you an important service you depend on.

Secondly they now have a complete profile over your browsing history for any site that has CF enabled and there's not much you can do here except stop using 20% or whatever market share of the internet they have, and also do a DNS lookup for every domain you visit from an anonymous machine to see if it's a Cloudflare IP range.

In case you didn't know, CF offers a partial CNAME / DNS feature where your primary DNS can be hosted anywhere and then you can proxy traffic from CF to your back-end on a per domain / sub-domain level. Basically you can't just check a site's DNS provider to see if they are on CF. You would have to check each domain and sub-domain to see if it resolves to a CF IP range which is documented here: https://www.cloudflare.com/ips-v4/# and https://www.cloudflare.com/ips-v6/#
by 8fingerlouie | 2025-07-03 10:30:53+00:00
Passkeys are basically just asymmetric encryption. When you create a passkey, you upload the public key to the website, and the private key stays on your device.

That greatly reduces your risk if/when credentials gets leaked from the site in question. Public keys are meant to be public, and worthless by themselves.

As for your private key, that usually ends up in a secure enclave or similar HSM, which in turn is protected by a pin code and face or fingerprints.

The private key then becomes "something you know", and your biometrics are "something you have".
Show HN: Yet another JSON lib (C++17)
by GeorgeHaldane | 2025-07-03 10:31:21+00:00
Hello HN.

There is no shortage of excellent JSON libraries out there, so initially this one was built mostly out of curiosity for writing parsers.

JSON proved to be a quite pleasant format to work with so eventually this project evolved into a proper feature complete lib with an API quite similar to nlohmann_json, but much better performance (~2x-5x depending on the workload) and a very concise codebase (single header ~1k L.O.C., slightly larger than picojson), in short:

- Concise single-header JSON lib - All JSON types map to std:: containers - Performance better than nlohmann_json / picojson, some metrics even beat RapidJSON - Supports reflection - Supports conversions for custom containers

The lib itself was mostly completed a few months ago, but now that it has proper CMake and CI tests different platforms I feel it is appropriate to post it here. Would love to hear some feedback on the design.

https://github.com/DmitriBogdanov/UTL/blob/master/docs/modul...
by johnisgood | 2025-07-03 10:31:26+00:00
> Are you serious? You are offended by the idea of reading documentation?This is not helping the credibility of your argument. Again, I'm not a D user, but this is just silly.

If you knew me, and you read my comment history, you would have NEVER said that. It is not even a matter of reading the documentation or not. "idup" seems arbitrary, sorry, I meant the whole line sounds arbitrary. Why "a"? Why "a.idup"? Why "map!"? I was asking genuine questions. You do not have to bash me and see ghosts. I was curious as to why it was implemented the way it was.

I am an active speaker against people who hate reading the documentation.

And FYI, I love Perl[1] and OCaml[2].

[1] https://news.ycombinator.com/item?id=44359539

[2] You would have to check the comment history.
by metalman | 2025-07-03 10:32:32+00:00
Djosers pyramid has an inner chamber that is suported by massive cedar timbers hauled from Lebenon.....and we have the Epic of Gilgamesh which details the triumph of Gilgamesh over humbiwaba the forest guardian, and harvesting and transport of cedars from Lebenon, we also have the commercial records of the mesopotamians trading activities over vast distances and time periods, and so it is zero surprise to find that "the black haired people" also left there genetic's with the rest of the cultural, linguistic, and mythical baggage that we are consiously or un consiously hauling around, still.
by antirez | 2025-07-03 10:33:00+00:00
About one month ago I applied XOR in a similar (but a bit more complicated way) to Redis Vector Sets implementation, in the context of sanity check of loading a vset value from the RDB file. I believe the way it works is quite interesting and kinda extends the applicability of the trick in the post.

The problem is that in vector sets, the HNSW graph has the invariant that each node has bidirectional links to a set of N nodes. If A links to B, then B links to A. This is unlike most other HNSW implementations. In mine, it is required that links are reciprocal, otherwise you get a crash.

Now, combine this with another fact: for speed concerns, Redis vector sets are not serialized as

element -> vector

And then reloaded and added back to the HNSW. This would be slow. Instead, what I do, is to serialize the graph itself. Each node with its unique ID and all the links. But when I load the graph back, I must be sure it is "sane" and will not crash my systems. And reciprocal links are one of the things to check. Checking that all the links are reciprocal could be done with an hash table (as in the post problem), but that would be slower and memory consuming, so how do we use XOR instead? Each time I see a link A -> B, I normalize it swapping A and B in case A>B. So if links are reciprocal I'll see A->B A->B two times, if I use a register to accumulate the two IDs and XOR them, at the end, if the register is NOT null I got issues: some link may not be reciprocal.

However, in this specific case, there is a problem: collisions. The register may be 0 even if there are non reciprocal links in case they are fancy, that is, the non-reciprocal links are a few and they happen to XOR to 0. So, to fix this part, I use a strong (and large) hash function that will make the collision extremely unlikely.

It is nice now to see this post, since I was not aware of this algorithm when I used it a few weeks ago. Sure, at this point I'm old enough that never pretend I invented something, so I was sure this was already used in the past, but well, in case it was not used for reciprocal links testing, this is a new interview questions you may want to use for advanced candidates.
by jaapz | 2025-07-03 10:33:27+00:00
Testing is often very subtle. If you don't understand changes you made (or really didn't make because the LLM did them for you), you don't know how they can subtly break other functionality that also depends on it. Even before LLM's, this was a problem for juniors, as they would change some code, it would build, it would work on their feature, but it would break something else which was seemingly unrelated. Only if you understand what your code changes actually "touch", you know what to (manually or automatically) test.

This is of course especially significant in codebases that do not have strict typing (or any typing at all).
by nabla9 | 2025-07-03 10:33:40+00:00
This is not true. 2g is the max recommended dose.

Most people can get enough vitamin C each day from food or drink. 3/4 cup of orange juice daily is enough. https://www.mayoclinic.org/healthy-lifestyle/nutrition-and-h...

Taking vitamin C orally decreases muscle mitochondrial biogenesis and harms the health benefits of training, like increased insulin resistance. (well established from multiple studies, easy to google).

There was huge antioxidant craze in late 90's and 00's when taking antioxidant supplements like C was considered the right thing to do. Now we know that just taking more antioxidants does not directly help with oxidization tress, because it messes up metabolism and can even increase it.
by ysofunny | 2025-07-03 10:33:41+00:00
but as soon as you are doing that,

the people who have to read your self-review will simply throw what you gave them into their own instance of the same corporate AI

at which point why not simply let the corporate AI tell you what to do as your complete job description; the AI will tell you to "please hold the scope probe as chatbotAI branding-opportunity fixes the glitches in the PWM"

I guess we pass the butter now...
by 8fingerlouie | 2025-07-03 10:33:49+00:00
1Password also supports passkeys. I'm not sure if you can share them in a family vault, but considering they're just "passwords" in 1Password, i don't see why you wouldn't be able to. The portion of a passkey stored on device is just a private key, which is essentially just a string of bytes.

The built in password manager in iOS/MacOS also supports synchronizing passkeys across devices (via iCloud), and again, i'm not sure if you can share those passkeys between uses, but same argument as for 1password.
by fhd2 | 2025-07-03 10:33:59+00:00
> I suspect that the majority of the people who claim that these tools are making them more productive are simply skipping these tasks altogether

I think that's probably true, but I think there are multiple layers here.

There's what's commonly called vibe coding, where you don't even look at the code.

Then there's what I'd call augmented coding, where you generate a good chunk of the code, but still refactor and generally try to understand it.

And then there's understanding every line of it. For this, in particular, I don't believe LLMs speed things up. You can get the LLM to _explain_ every line to you, but what I mean is to look at documentation and specs to build your understanding and test out fine grained changes to confirm it. This is something you naturally do while writing code, and unless you type comically slow, I'm not convinced it's not faster this way around. There's a very tight feedback loop when you are writing and testing code atomically. In my experience, this prevents an unreasonable amount of emergencies and makes debugging orders of magnitude faster.

I'd say the bulk of my work is either in the second or the third bucket, depending on whether it's production code, the risks involved etc.

These categories have existed before LLMs. Maybe the first two are cheaper now, but I've seen a lot of code bases that fall into them - copy pasting from examples and SO. That is, ultimately, what LLMs speed up. And I think it's OK for some software to fall into these categories. Maybe we'll see too much fall into them for a while. I think eventually, the incredibly long feedback cycles of business decisions will bite and correct this. If our industry really flies off the handle, we tend to have a nice software crisis and sort it out.

I'm optimistic that, whatever we land on eventually, generative AI will have reasonable applications in software development. I personally already see some.
by strken | 2025-07-03 10:34:15+00:00
I mean, I think that the universe is close enough to deterministic at a macro scale, but even in a deterministic world you can still get smashed in the head by a falling brick with zero warning. Whether the the sequence of events that led to the brick falling down is deterministic or random is irrelevant to your ability to predict its descent. You only have a feeble human brain, a soft pink organ that's incapable of fitting more than 5 to 7 items in its working memory even before the collision.
by smikhanov | 2025-07-03 10:34:47+00:00
no settlements or towns aside from Hydro Quebec's settlements for workers (these are private and are not open to the public - they will kick you out)

Will they really kick a passing driver out when it's freezing outside? Heck, wherever the population is this sparse and conditions are this harsh people normally actively invite you to their places. This sounds so weird.
by coldtea | 2025-07-03 10:35:44+00:00
>But in meetings you get to have back-and-forth, and while you can also have that in async, you’re punishing everyone with having to back-read. Which they might not do altogether

All of that can happen just fine in a real-time team chat as well - and give people the chance to provide actual context and links, and also check back at the actual discussion later.
by einarfd | 2025-07-03 10:36:59+00:00
This is only true in some countries, and tbh. having this as the state of the art, sounds a bit dystopian. I've been using my BankID, which is a Norwegian electronic identity solution, to log into banks and such, for decades now. With these type of solutions, there is no way that taking control over phone numbers make any difference when trying to get access to a bank account.

Btw. this type of electronic identity solution are not Norway specific, I know all the other Nordic countries have them, and they are, as far as I know fairly popular in the rest of Europe as well.
by throwaw12 | 2025-07-03 10:37:04+00:00
I will disagree with the author.

If you look from the lenses of BigTech and corporations, yes code was not a bottleneck.

But, if you look from the perspective of startups, rigorous planning was because resources to produce features were limited, which means producing a working code was a bottleneck, because in small teams you don't have coordination overhead, idea and vision is clear for them -> to produce something they have discussed and agreed on already.

My takeaway is, when discussing broad topics like usefulness of AI/LLM, don't generalize your assumptions. Code was bottleneck for some, not for others
by cycomanic | 2025-07-03 10:37:47+00:00
Don't worry it's not better on Android either. Since my work has switched to office365 it's just been hassle after hassle.

The outlook app on my phone (and I can't use any other method because it has been disabled), frequently looses authentication and I stop getting notifications about calendar events, emails ..., missed several meetings and important emails because of this.

When trying to login on my desktop/laptop I get told to confirm using either outlook, MS authentication app. Guess what often I have been locked out on those as well, so now I have to go through the dance of logging in using a sms code instead. It's sometimes even worse, even on mobile I get told to confirm from my authentication app/outlook, where I'm just trying to log in.

Authentication request often only come through to my phone on the 3rd of 4th try. So now logging in to check my email suddenly takes 2 min, because I'm trying to get the popup in the app, it doesn't appear, I need to cancel the request, restart ...
by mykehunt | 2025-07-03 10:37:51+00:00
The article says it wasn't touched since ~ the 1960's. I see an old MRC TECH II powerpack (two button as compared to three - on/off, direction only.)

>> This out dates me but didn't those come to market in the 80's? Too new to be old but too old to be new.

>> Also pretty sure I saw a blue Conrail GP-40-2 in the background of the Youtube clip. (Not too up on diesel. Know more about steam.) but either way Conrail wasn't formed until the late 1970's?
by ChrisMarshallNY | 2025-07-03 10:38:13+00:00
The main issue that I have with Liquid Glass, is that it changes a bunch of dimensions and behaviors.

If you are writing all your apps in SwiftUI, then that's probably OK. However, the vast majority of apps use UIKit (or use a library that is ultimately based on UIKit), with AutoLayout. In fact, I'll bet that most of the really big apps are still ObjC/NonAutoLayout.

AutoLayout/UIKit is a big fat pain in the ass, but it works extremely well. It has had over a decade, to buff out the rough spots and corner cases. I can't think of a single UI conundrum that I've had, in the last ten years, that I couldn't figure out how to address with AL. With SwiftUI, I'm constantly running into "You can't get there, from here."

Most (probably all, but I have a couple of old ones) of my apps work well in any display. That means resized (usually narrow vertical) iPad windows, rotated iPhones (where a lot of the UI scrolls off the bottom, and you need to scroll for it), and resized Mac windows.

With SwiftUI, you tend to get support for that pretty much automatically, but with AL, you usually need to specifically design for it, so when the phone gets rotated, things flow into the right places, etc.

Adding all the LG borders around things like tab bar items and navbar items, changes the layout; sometimes, fairly substantially.

Right now, I'm just tossing a UIDesignRequiresCompatibility into the Info.plist, but that feels like a kludge, and I'll need to adapt, but that may take a while.
by ralferoo | 2025-07-03 10:39:11+00:00
Why didn't you put "lets get the engineers ideas meeting before the yearly plan ships" as the meeting topic in the invite then? Otherwise you're expecting a whole load of people to turn up for a meeting with no idea what it's for.

If you don't tell people what the meeting is for, you're implicitly saying that they don't need to know the topic until they arrive, and so you're signaling that they're not expected to be giving input and they're just there to listen to something - and in 90% of such meetings, they could be done better by e-mail.

If you wanted feedback from the engineers, giving them a heads-up that this was their opportunity would have given them time to form their ideas into a succinct coherent point rather than an off-the-cuff ramble.
by netcan | 2025-07-03 10:39:16+00:00
On a tangential note... This type of problem is very relevant for "impact of ai" estimates.

I think we have a tendency to overestimate efficiency... because of the central roles it plays at the margins that mattered to us at any given time. .

But the economy is bottlenecked in complex ways. Market demand, money, etc.

It's not obvious that 100X more code is something we can use.
by willguest | 2025-07-03 10:39:23+00:00
And we name them 'tree' because they have a certain shape and configuration. Then we created taxonomies and "discover" that tree isn't a single thing

We seem to cling too tightly to definition, as the expense of paying attention to the things as they are.

My point is resonant with the piece because it illustrates that conventional naming doesn't match taxonometric systematisation. I am happy to be wrong though, if it makes you feel better.
by nandomrumber | 2025-07-03 10:39:36+00:00
These are the facts:

Australian social security budget: about $120 billion

Australian NDIS budget: about $52 billion

Number of working Australians: 14.6 million

Number of welfare recipients in Australia: about 5.4 million, or about the entire population of Melbourne.

Number of NDIS recipients in Australia: about 661,000

That’s about $78,500 per NDIS recipient.

Democracy can last only up to that point the majority realise they can vote themselves largess from the public purse.
by coldtea | 2025-07-03 10:39:43+00:00
>This is a nice way of saying that some people just won't tell you what they're up to async, you have to wring information out of them synchronously.

Like, you explicitly ask them in an IM and they don't tell you?

Not telling you on their own, I can understand. If the former happens though, you have bigger problems, that asking on a real-life meeting wont solve.
by DamonHD | 2025-07-03 10:39:49+00:00
I use high-level tools to automate things all the time, such as scripts to avoid error-prone manual tasks, and high-level languages rather than writing low-level assembly code byte-by-byte ... usually, when they the right things to do.

However, given that my life now is mostly working on trying to reduce global warming, and I have fairly high standards for my output I think, I don't by default want to use tools which (a) cause large amounts of needless carbon emissions one way or another and (b) inject random lies/nonsense into their output which is hard to track down and may in fact slow me down overall.

I have been listening carefully to talented people I trust who are getting coding assistant results that they are happy with (even given their TLC to fix the errors and lies), and will carefully evaluate for myself when the hype has diminished a little, as I have with other new tech, and when mostly the good stuff is still standing.

But at the moment I am learning a whole new complex toolset in a different area, in building physics to reduce emissions, and cannot really do both at once properly even if I was at my 18yo sharpest and wasn't trying to have a good social life too.

As I boringly repeat, I am not anti AI. I have a near 40yo AI degree and have hundreds of thousands of product units on the market featuring what is at least clever data science. I do object to overhyped LLMs from vastly rich peeps wanting to hoard even more resources while being oblivious to those who have provided the intellectial property that they have perloined, while flattening the creators' servers with badly behaved bots too!

I have already nominally retired (though am working on a self-funded PhD) so the "I will lose my job" cannot apply and is a counter example to one of your universal claims.