MurphyA/hacker-news huggingface dataset:
by tialaramex | 2025-08-22 16:26:25+00:00
As with the history of Linux, there is a certain kind of person who cannot imagine any middle ground between "I buy only Microsoft-approved products" and "For each named server we start with LFS and it typically takes 6-8 weeks to customize the build for that server".

In this space it's "I use Twitter" and "After sitting down with the protocol documentation I reckon in January 2026 I will launch my own custom Mastodon server". No middle ground at all. No "Maybe I could join this instance of like-minded individuals?" or even "I found a turnkey solution for $10 per month", it's either 100% blood oath loyalty to Elon's service or they have to write all the software by hand themselves.
by hombre_fatal | 2025-08-22 16:26:35+00:00
So, it's a way to tell other applications how they would craft a URL on your site such that they can prefill a form on your site?

A meta tag in the html of your webpages seems like the wrong place for that info since it's not something that changes per page unlike the OpenGraph/TwitterCard meta tags that tell third-party apps how to generate a preview of the page.

Surely a better place would be example.com/.well-known/share-url.
by rconti | 2025-08-22 16:26:45+00:00
yeah, our small suburban house in silicon valley can easily use 400 gallons per day on days where we water the small front and back lawns and drip irrigation, but on a non-watering day, we can use as little as 50 gallons for 2 people.

While this is "a lot" of water, when we've had an irrigation leak in a zone that runs for 5 or 10 minutes, the number can balloon to 900 gallons in a day.

The amount of water used by people who actually don't closely monitor and track their usage, with big properties, lots of plants and lawn to irrigate, must be truly mind-boggling. I wouldn't be surprised if tens of thousands of gallons per day was pretty common at a lot of houses.
by rootnod3 | 2025-08-22 16:27:08+00:00
So, why do you only opt for that side of the argument? Why not indulge in the side of the naysayers will be able to keep a job after the bubble bursts because they still know how to code by hand? And that exact sentiment is what I was alluding to.

There is maybe some truth to the LLM vibe coding and there maybe is some truth to the “old guard” saying “this is shit”, because this might be shit for very good reasons.
by nradov | 2025-08-22 16:27:16+00:00
Cave diving is about the only remaining way for an ordinary middle-class person to do original exploration. There is still a lot of virgin cave in some areas so it's possible to go places where literally no human has ever been before. Sheck Exley, one of the most accomplished cave explorers, was a high school math teacher in Florida. As one other explorer put it, literally more people have been to the Moon than have reached the end of the line in the Wakulla Springs underwater cave system.
by abustamam | 2025-08-22 16:27:16+00:00
My dentist and doctor schedule the next appointment during my appointment. So if I had my annual physical appointment tomorrow, my next appointment would be 8/23/2026 which I definitely would not remember, even if they gave me an appointment card. If I'm lucky they'll call me to remind me a few days before, but having it on my calendar ensures that I don't schedule a meeting (or travel!) during that time.
by SideburnsOfDoom | 2025-08-22 16:27:25+00:00
> I'd rather it just said ...

Yes, but why would it? "Oops, I got it wrong the first time because I crapped out the first thing that matched in my training data" isn't in the training data. Yet.

So it can't come out of the LLM: There's no actual introspection going on, on any of these rounds. Just using training data.
by genshii | 2025-08-22 16:28:11+00:00
Maybe this is a bit pedantic, but it bothers me when people refer to "Node" as a programming language. It's not a language, it's a JavaScript runtime. Which to that you might say "well when people say Node they just mean JavaScript". But that's also probably not accurate, because a good chunk of modern Node-executed projects are written in TypeScript, not JavaScript. So saying "Node" doesn't actually say which programming language you mean. (Also, there are so many non-Node ways to execute JavaScript/TypeScript nowadays)

Anyway, assuming you're talking about TypeScript, I'm surprised to hear that you prefer Go's type system to TypeScript's. There are definitely cases where you can get carried away with TypeScript types, but due to that expressiveness I find it much more productive than Go's type system (and I'd make the same argument for Rust vs. Go).
by NalNezumi | 2025-08-22 16:28:17+00:00
As a kid, the "fun" about Saturday school fluctuated. In the beginning it was super fun, after a while it became a chore (and I whined to my mom) but in the end I enjoyed it and it was tremendously valuable. The school had a lot of cultural activities (sport day, new years celebration / setsubun etc) and having a second set of classmates that shared a different side of you was actually fun for me. So it added an extra dimension of enjoyment in my childhood :)

Especially since (back then) being an (half) asian nerd kid in a 99.6% White (blonde & blue eyed) school meant a lot of ridicule and minor bullying. The saturday school classes were too small for bullying to not get noticed, and also served as a second community where you could share your stuff without ridicule or confusion :)

The experience made me think that it's tremendously valuable for kids to find multiple places (at least one outside school) where they can meet their peers. Doesn't have to be a school, but a hobby community, sport group, music groups, etc. Anything the kid might like, and there's shared interest.

It teaches kid that being liked by a random group of people (classmates) is not everything in life, and you increase the chance of finding like-minded people. Which reflect rest of life better anyway (being surrounded by nerds is by far the best perk of being an engineer)

I know 2 class mates (out of 7) that hated it there, and since it's not mandatory they left after elementary school. So a parent should ofc check if t he kids enjoy it (and if not, why) and let the kid have a say in it.
by FirmwareBurner | 2025-08-22 16:28:40+00:00
You are correct. But I don't see how we can fix this. Revolutions or rioting, is not the right idea either.

A successful and well functioning democracy requires constant monitoring, involvement and pressure from citizens to hold it accountable, otherwise it gets captured by monopolies and malicious actors with money, who will steer politics in their favor instead of the citizens' favor.

The problem with that is that most citizens today are too burdened by the cost of living and sorting their own lives to have time and energy for political activism. The only ones who do are retired boomers and they only care that their pensions and house prices are going up.
by Barrin92 | 2025-08-22 16:29:18+00:00
it can work but it's far from science fiction. LLMs tend to produce extremely subpar if not buggy ffmpeg code. They'll routinely do things like put the file parameter before the start time which needlessly decodes the entire video, produce wrong bitrates, re-encode audio needlessly, and so on.

If you don't care enough about potential side effects to read the manual it's fine, but a dream UX it is not because I'd argue that includes correctness.
by aidenn0 | 2025-08-22 16:29:46+00:00
> I was placed, and excelled, in moderately advanced math courses from 3rd grade on.

In the school district I live in, they eliminated all gifted programs and honors courses (they do still allow you to accelerate in math in HS for now, but I'm sure that will be gone soon too), so a decent chance you might not have taken Calculus in HS. Problem solved I guess?
by xandrius | 2025-08-22 16:30:03+00:00
Had to do exactly that with a bunch of screenshots I took but happened to include a bunch of unnecessary parts of the screen.

A prompt to ChatGPT and a command later and all were nicely cropped in a second.

The dread of doing it by hand and having it magically there a minute later is absolutely mind blowing. Even just 5 years ago, I would have just done it manually as it would have definitely taken more to write the code for this task.
by const_cast | 2025-08-22 16:30:11+00:00
But go tooling is bad. Like, really really bad.

Sure it's good compared to like... C++. Is go actually competing with C++? From where I'm standing, no.

But compared to what you might actually use Go for... The tooling is bad. PHP has better tooling, dotnet has better tooling, Java has better tooling.
by maxdamantus | 2025-08-22 16:30:13+00:00
But there's no option to just construct the string with the invalid bytes. 3) is not for this purpose; it is for when you already know that it is valid.

If you use 3) to create a &str/String from invalid bytes, you can't safely use that string as the standard library is unfortunately designed around the assumption that only valid UTF-8 is stored.

https://doc.rust-lang.org/std/primitive.str.html#invariant

> Constructing a non-UTF-8 string slice is not immediate undefined behavior, but any function called on a string slice may assume that it is valid UTF-8, which means that a non-UTF-8 string slice can lead to undefined behavior down the road.
by cmcaleer | 2025-08-22 16:31:37+00:00
For the same reason Roskomnadzor makes demands of Wikipedia to remove information it doesn't like: to impotently make demands of entities that will obviously not comply so there can be some theatrics before blocking them or marking them as an evil non-compliant entity.

It's truly baffling stuff. If Roskomnadzor made demands of a UK-based website before dramatically fining them massive amounts daily (that will obviously never be collected), people would rightfully treat them as a laughing stock. Yet when Ofcom treats a foreign entity the same way, they somehow expect to be treated seriously.

Honestly 4chan treated this with far more respect than it was due by having their lawyers respond at all.
by thinkharderdev | 2025-08-22 16:32:28+00:00
> It just refuses to work with non-UTF-8 files at all -- is this less sloppy?

You can debate whether it is sloppy but I think an error is much better than silently corrupting data.

> The best approach is to treat data as opaque bytes unless there is a good reason not to

This doesn't seem like a good approach when dealing with strings which are not just blobs of bytes. They have an encoding and generally you want ways to, for instance, convert a string to upper/lowercase.
by OneDeuxTriSeiGo | 2025-08-22 16:32:32+00:00
The mainline bluesky "mushroom" PDS have been struggling with an influx of spam and bot accounts so they've gotten a bit picky on email addresses (which I partially get but also find quite frustrating).

Luckily there are alternative PDS that you can use without issue. Tangled[1] (the atproto github host) is one. They are a smaller PDS host so the usual caveats apply (if you act up they are more likely to notice you, downtime may occur, etc) but otherwise you can use them like you would any other PDS to interact with bluesky and the greater atproto network.

1. https://tangled.sh/signup
by chii | 2025-08-22 16:32:45+00:00
> still have a unified internet across the globe.

which might be the end goal - the internet, with freedom of communication, is a way that the plebs can organize and resist authoritarianism. And as countries are growing increasingly authoritarian (and i include UK here), they may be planning on preventing the old free internet that has enabled so much.

So as technologists here at HN, there needs to be a pre-emptive strike to prevent such an outcome from becoming successful. I would have said TOR, but for most people it's a non-starter. What other options are there?
by dkarl | 2025-08-22 16:33:35+00:00
> The issue is that it was a bit outdated in the choice of _which_ things to choose as the one Go way

I agree with this. I feel like Go was a very smart choice to create a new language to be easy and practical and have great tooling, and not to be experimental or super ambitious in any particular direction, only trusting established programming patterns. It's just weird that they missed some things that had been pretty well hashed out by 2009.

Map/filter/etc. are a perfect example. I remember around 2000 the average programmer thought map and filter were pointlessly weird and exotic. Why not use a for loop like a normal human? Ten years later the average programmer was like, for loops are hard to read and are perfect hiding places for bugs, I can't believe we used to use them even for simple things like map, filter, and foreach.

By 2010, even Java had decided that it needed to add its "stream API" and lambda functions, because no matter how awful they looked when bolted onto Java, it was still an improvement in clarity and simplicity.

Somehow Go missed this step forward the industry had taken and decided to double down on "for." Go's different flavors of for are a significant improvement over the C/C++/Java for loop, but I think it would have been more in line with the conservative, pragmatic philosophy of Go to adopt the proven solution that the industry was converging on.
by bryanlarsen | 2025-08-22 16:33:39+00:00
Norway is a tiny market that is an example of what most Western nations will look like in 2030 or 2035. Despite ~95% of sales being EV, downtown Oslo is still noisy and stinky because the vast majority of cars are still ICE.

Contrast with China -- downtown Shanghai has the vast majority of cars being EV's despite the EV sales rate in China only being ~50%.
by mulmen | 2025-08-22 16:33:56+00:00
“Actual reality” is women actually being able to open their own independent accounts. The laws you cited are technicalities. The history of civil liberties in this country is full of examples of institutions simply refusing to do the right thing until forced.

Ask your nearest boomer woman when she actually opened her own bank account without the approval of a man. I bet the results will surprise you.

My mom couldn’t deposit her babysitting money in rural Idaho without a signature from my grandfather. She couldn’t independently buy a car with that babysitting money. Her younger brother of course could. She rightly remembers this injustice.

Regardless of the laws or when they were passed the idea of financial discrimination against women is completely outside the Overton window today but it was the norm in living memory.

This is the “actual reality”.
by dilap | 2025-08-22 16:33:58+00:00
This has already been explained many times, but it's so much fun I'll do it again. :-)

So: The way Go presents it is confusing, but this behavior makes sense, is correct, will never be changed, and is undoubtedly depended on by correct programs.

The confusing thing for people use to C++ or C# or Java or Python or most other languages is that in Go nil is a perfectly valid pointer receiver for a method to have. The method resolution lookup happens statically at compile time, and as long as the method doesn't try to deref the pointer, all good.

It still works if you assign to an interface.

package main import "fmt" type Dog struct {} type Cat struct {} type Animal interface { MakeNoise() } func (*Dog) MakeNoise() { fmt.Println("bark") } func (*Cat) MakeNoise() { fmt.Println("meow") } func main() { var d *Dog = nil var c *Cat = nil var i Animal = d var j Animal = c d.MakeNoise() c.MakeNoise() i.MakeNoise() j.MakeNoise() }

This will print

bark meow bark meow

But the interface method lookup can't happen at compile time. So the interface value is actually a pair -- the pointer to the type, and the instance value. The type is not nil, hence the interface value is something like (&Cat,nil) and (&Dog,nil) in each case, which is not the interface zero value, which is (nil, nil).

But it's super confusing because Go type cooerces a nil struct value to a non-nil (&type, nil) interface value. There's probably some naming or syntax way to make this clearer.

But the behavior is completely reasonable.
by goku12 | 2025-08-22 16:34:16+00:00
Why can't they retain stories like Dredd, The Minority Report and Continuum as fiction? They were supposed to be warnings, not user manuals. Something being possible doesn't always mean that it's a good idea.

PS: This rather useless comment is actually an expression of frustration. We are a population of more than 8 billion. Why are such concepts even tolerated?
by IAmBroom | 2025-08-22 16:34:29+00:00
Your question is massively generalized. A little bit in every bucket, but obviously I think I'm aiming for better.

One of my newish mantras is: "Apologizing is what we expect of 9-year-olds. Older children are expected to make compensations or repairs. Adults are expected to modify their own behavior in the future."
by OneDeuxTriSeiGo | 2025-08-22 16:34:41+00:00
It really depends what you are looking for. Try searching for some starter packs to seed your follow graph. The below site works well but the search is a bit dumb/literal and the packs are all user created so you'll want to check some of the accounts in the packs that come up before you blindly follow them.

https://blueskydirectory.com/starter-packs
by HankStallone | 2025-08-22 16:35:42+00:00
Congressmen have to get reelected, so over the years they've been glad to abdicate power to the executive, the judiciary, and the unelected bureaucracy. Anyone but themselves, so they didn't have to sign their names to the unpopular policies they wanted. They still got what the ruling class wanted, but indirectly, so it rarely threatened their incumbency. Whatever happened, they could tell the votes back home, "Sorry, we tried to pass/stop such-and-such, but we don't have any control over the president/courts/bureaucrats. Can't blame me."

It worked pretty well as long as the ruling class were all pretty much on the same page about most things, with some "social issues" differences between the parties that they used for campaigning but never quite acted on. It works less well if different factions start competing and going against the status quo for real.
by no_wizard | 2025-08-22 16:36:12+00:00
No shoplifting enforcement is done through the courts and most importantly, the police. There is a huge difference here.

Courts incur costs between fees and lawyers, and even filing a report with the dept of labor (the typical recourse most people take at first) means you have to wait while you aren't being compensated for that time. Given wage theft in the majority of cases impacts people who can't often afford to go without those lost wages, this is a tough situation to be in, and even if you go through the labor department with a complaint, manage to get it reviewed in a timely manner (it typically takes months before hearing anything), you may still end up in court anyway depending on a number of factors.

You could sue for the lost wages directly, but again, this becomes an issue of cost, getting the case heard and tried in a timely manner etc. This could drag on for months to years, depending.

On the other hand, if a store sees someone shoplifting, they can and do call the police, and they can and will arrest someone for shoplifting. Its dealt with close to or during the incident occurring. Thats a really big difference in the feedback loop.

Imagine now, that you could call the police when you have a verifiable instance of wage theft, and the person(s) responsible was arrested and you given upfront restitution pending trial. That would be the equivalent of how we treat shoplifting vs wage theft. The differences are not minor, and I imagine they're intentional on behalf of lobbying from business groups.

If business owners or their subordinates were being arrested for wage theft I imagine things would change quickly, but there's such a lag time between actual accountability and the instance of it happening - and even when found guilty they simply pay the back wages plus penalties in the best case scenario, and thats if it gets to the point of either a lawsuit or arbitration on behalf of the labor department - that they have done the calculation that paying incorrect compensation (the most common form of wage theft) is overall costing them less than paying out labor disputes, as with anything that has hefty process attached to it without guaranteed results, it discourages the most vulnerable from engaging with that system even though they would benefit most.

They aren't equivalent, and its disingenuous to see them as such.
by craftkiller | 2025-08-22 16:36:14+00:00
At my first job out of college it took 30 minutes to recompile and launch the server. Now the kids complain about 10 seconds. It's just impossible for me to take their complaints seriously. 10 seconds isn't even enough time for a mental context-switch, its just slightly more time than "instant". Back in the day, something like this wasn't an exaggeration: https://xkcd.com/303/
by CamperBob2 | 2025-08-22 16:36:14+00:00
They're not what I want. They can't possibly maintain a sufficiently-diverse inventory to provide what I want/need when I want/need it.

See also Wal-Mart and the decline of small-town retail. News flash: nobody actually misses them, because they never stocked anything but lowest-common-denominator merchandise.
by bluGill | 2025-08-22 16:36:16+00:00
The right boxes to check are good. However you have to be careful. A doctor who spends 15 minutes checking boxes before treating a heart attack just killed someone... That doesn't mean the doctor cannot check boxes, just that they need to be break early to treat things. (even here checkboxes will be good - there are things with the same symptoms as a heart attack where heart attack treatment is the worst thing possible - those have a high death rate because they are so rare doctors don't check for them until too late to treat correctly)
by dehrmann | 2025-08-22 16:36:17+00:00
> Java etc need external libraries to implement threading which cant be reasoned with in the context of the language itself.

What do you mean by this for Java? The library is the runtime that ships with Java, and while they're OS threads under the hood, the abstraction isn't all that leaky, and it doesn't feel like they're actually outside the JVM.

Working with them can be a bit clunky, though.
by alexpotato | 2025-08-22 16:36:25+00:00
I was recently looking at a large timeseries dataset.

I noticed when doing a scatter plot of two variables and noticed that there were several "lines" of dots.

This generally implies that subsets of the two variables may have correlations or there is a third variable to be added.

I did some additional research and it is possible for two variables with large N to show correlation for short bursts even if both variables are random.

I mention for two reasons:

1. I was just doing the above and saw the OP article today

2. Despite taking multiple college level stats classes, I don't remember this ever being mentioned.
by reactordev | 2025-08-22 16:36:28+00:00
There were points in this article that made me feel like Rob Schneider in Demolition Man saying "He doesn't know about the three sea shells!" but there were a couple points made that were valid.

the nil issue. An interface, when assigned a struct, is no longer nil even if that struct is nil - probably a mistake. Valid point.

append in a func. Definitely one of the biggest issues is that slices are by ref. They did this to save memory and speed but the append issue becomes a monster unless abstracted. Valid point.

err in scope for the whole func. You defined it, of course it is. Better to reuse a generic var than constantly instantiate another. The lack of try catch forces you to think. Not a valid point.

defer. What is the difference between a scope block and a function block? I'll wait.