MurphyA/hacker-news huggingface dataset:
by throwawayxcmz | 2025-08-22 11:55:59+00:00
Exactly.

The other jarring example of this kind of deferring logical thinking to big corps was people defending Apple's soldering of memory and ssd, specially so on this site, until some Chinese lad proved that all the imagined issues for why Apple had to do such and such was bs post hoc rationalisation.

The same goes with Go, but if you spend enough time, every little while you see the disillusionment of some hardcore fans, even from the Go's core team, and they start asking questions but always start with things like "I know this is Go and holy reasons exists and I am doing a sin to question but why X or Y". It is comedy.
by OneDeuxTriSeiGo | 2025-08-22 11:56:16+00:00
For what it's worth bluesky is fairly low on politics if you unpin the discover feed.

The following feed is purely content by people you follow.

There are also other feeds like "for you" which only shows you posts liked by the people who liked the posts you liked. If you mainly interact with niche/technical/creative content and avoid politics, those feeds will trend towards avoiding politics as well.
by fluoridation | 2025-08-22 11:56:22+00:00
Did I say "random graph", or did I say "general graph"?

>There is of course looping too - e.g. thalamo-cortical loop - we are not just as pass-thru reactionary LLM!

Uh-huh. But I was responding to a comment about how the brain doesn't do something analogous to back-propagation. It's starting to sound like you've contradicted me to agree with me.
by xyzzyz | 2025-08-22 11:56:37+00:00
Go was designed by some old-school folks that maybe stuck a bit too hard to their principles, losing sight of the practical conveniences.

I'd say that it's entirely the other way around: they stuck to the practical convenience of solving the problem that they had in front of them, quickly, instead of analyzing the problem from the first principles, and solving the problem correctly (or using a solution that was Not Invented Here).

Go's filesystem API is the perfect example. You need to open files? Great, we'll create

func Open(name string) (*File, error)

function, you can open files now, done. What if the file name is not valid UTF-8, though? Who cares, hasn't happen to me in the first 5 years I used Go.
Show HN: Guess It Game
by chistev | 2025-08-22 11:56:46+00:00
A fun and interactive guessing game where you challenge your observation skills by identifying objects in images. Play across multiple modes, unlock achievements, and track your progress!

Multiple Game Modes

Timed – Guess within 5 seconds.

Classic – No time limit, just pure guessing.

Multiple Choice – Choose the correct answer from 4 options.

Survival – 3 lives, how long can you last?

Built with React.js

game link - https://arrow-duh-game.onrender.com/

source code - https://github.com/chistev/arrow-duh-game
by metalman | 2025-08-22 11:57:32+00:00
the bubble already exists, or.....tower, it's called academia.What is quite clear from many personal experiences in online semi professional forums, is that what many top notch acedemics crave is to "profess" to an interested random group in the hopes of finding successors and students, or colaborators that are missing from there actual real world life. This is proving to be clumsy and time consuming, with no good way to moderate, and distinguish between those who's enthusiasims are positive and the always almost's. This whole phenominon is ancient, and we have accounts of identical situations from the agora of athens and many other citys open .....forums the open forumis messy, but it inevitably yields new thoughts and actions bieng adopted, vs a closed school, that yield orthodox reactionary beurocratic stagnancy.
by mrweasel | 2025-08-22 11:57:37+00:00
That might be it, but I wondered about that one, as well as the append complaint. It seems like the author disagree with scoping rules, but they aren't really any different than a lot of other languages.

If someone really doesn't like the reuse of err, there's no reason why they couldn't create separate variable, e.g. err_foo and err_foo2. There's not no reason to not reuse err.
by ath3nd | 2025-08-22 11:58:53+00:00
> It seems to me that probabilistic approaches are more akin to magical AI thinking right now, so defending that as the new paradigm sounds quite egregious and reeks of (maybe involuntary?) inevitabilism

Thank you for saying that!

I read it as: "our product is fickle and unreliable and you have to get used to it and love it because we tell you that is the future".

But it's not the future, it's just one of many possible futures, and not one I and a large part of society wants to be a part of. These "leaders" are talking and talking but they are just salemen, trying to frame what they are seling you as good or inevitable. It's not.

Look for example, at the Ex CEO of Github and his clownish statements:

- 2nd of August: Developers, either embrace AI or leave the industry https://www.businessinsider.com/github-ceo-developers-embrac...

- 11th of August: Resigns. https://www.techradar.com/pro/github-ceo-resigns-is-this-the...

Tell me this is not pitiful, tell me this is the person I gotta believe in and who knows what's the future of tech?

Tell me I gotta believe Sama when he tells me for the 10th time that AGI is nearly there when his latest features were "study mode", "announcing OpenAI office suite" and ChatGPT5 (aka ChatGPT4.01).

Or Musk and his full self driving cars which he promised since 2019? The guy who bought Twitter, tanked its value in half so he can win the election for Trump and then got himself kicked out of the government? The guy making Nazi salutes?

Are those the guys telling what's the future and why are we even listening to them?
by gabriel666smith | 2025-08-22 11:59:00+00:00
> Where are you going with this?

I don't know!

Adding code now.

Is this more clear, for at least the initial 'word set' generation? I can add to repo if so:

Concept:

The system predicts and generates words based on Fibonacci distances - instead of looking at the next word or previous word, it looks at words that are 2, 3, 5, 8, 13, 21, etc. positions away (following the Fibonacci sequence).

Key Components

1. Training Phase

Takes a text file and extracts all words Builds two prediction models:

Forward model: "If I see word X at position N, what word appears at position N+2, N+3, N+5, N+8, etc.?" Backward model: "If I see word X at position N, what word appeared at position N-2, N-3, N-5, N-8, etc.?"

2. Generation Phase

Starts with seed words (user input) For each seed word, predicts what should come before and after using Fibonacci distances

Uses bidirectional validation: a word is only chosen if it's probable in BOTH forward and backward directions

This attempts to create a more coherent, contextually consistent text.

Then runs multiple passes where generated words become new starting points for further generation, creating richer, more developed text. The words with strongest association values = the final generation set of available words.
by pcrh | 2025-08-22 12:00:24+00:00
This is why experimental science is different from observational studies.

Statistical analyses provide a reason to believe one hypothesis over another, but any scientist will extend that with an experimental approach.

Most of the examples given in this blog post refer to medical, sociological or behavioral studies, where properly controlled experiments are hard to perform, and as such are frequently under-powered to reveal true cause-effect associations.
by phire | 2025-08-22 12:00:41+00:00
The end result of a modern film "transfers" looks so good that people massively the amount of effort that went into the restoration.

The color has always faded. They have to color-grade it back to what they think it originally looked like, though it's more common to use artistic license what they it was originally intended to look like. Artistic interpretation always leaks in, and it will never match what someone saw in the theatre (and there was massive variation between prints even when they were brand new).

At least with TV shows like TNG, we have the tapes to use as a reasonably solid reference for what color was actually broadcast.

And then there is scratch and dust removal. They do so much in-painting to get the clean result that we associate with 35mm film today.
by strogonoff | 2025-08-22 12:01:26+00:00
> They are selling their songs cheaper for TV, radio or ads.

I guess that somehow refutes the points I made, I just can’t see how.

Radio stations, like the aforementioned venue owners, pay the rights organizations a flat annual fee. TV programs do need to license these songs (as unlike simple cover here the use is substantially transformative), but again: 1) it does not rip off songwriters (holder of songwriter rights for a song gets royalties for performance of its covers, songwriter has a say in any such licensing agreement), and 2) often a cover is a specifically considered and selected choice: it can be miles better fitting for a scene than the original (just remember Motion Picture Soundtrack in that Westworld scene), and unlike the original it does not tend to make the scene all about itself so much. It feels like you are yet to demonstrate how it is particularly parasitic.

Edit: I mean honest covers; modifying a song a little bit and passing it as original should be very sueable by the rights holder and I would be very surprised if Spotify decided to do that even if they fired their entire legal department and replaced it with one LLM chatbot.
by traceroute66 | 2025-08-22 12:01:52+00:00
> Just all-around a trusty tool in the belt

I agree.

The Go std-lib is fantastic.

Also no dependency-hell with Go, unlike with Python. Just ship an oven-ready binary.

And what's the alternative ?

Java ? Licensing sagas requiring the use of divergent forks. Plus Go is easier to work with, perhaps especially for server-side deployments.

Zig ? Rust ? Complex learning curve. And having to choose e.g. Rust crates re-introduces dependency hell and the potential for supply-chain attacks.
by cogman10 | 2025-08-22 12:02:01+00:00
Slowly but surely, the jvm has been closing the go gap. With efforts like virtual threads, zgc, lilliput, Leyden, and Valhalla, the jvm has been closing the gap.

The change from Java 8 to 25 is night and day. And the future looks bright. Java is slowly bringing in more language features that make it quite ergonomic to work with.
by tomrod | 2025-08-22 12:02:55+00:00
This is sort of the basis of econometrics, as well as a driving thought behind causal inference.

Econometrics cares not only about statistical significance but also usefulness/economic usefulness.

Causal inference builds on base statistics and ML, but its strength lies in how it uses design and assumptions to isolate causality. Tools like sensitivity analysis, robustness checks, and falsification tests help assess whether the causal story holds up. My one beef is that these tools still lean heavily on the assumption that the underlying theoretical model is correctly specified. In other words, causal inference helps stress-test assumptions, but it doesn’t always provide a clear way to judge whether one theoretical framework is more valid than another!
Ask HN: Tear down my approach to replacing internal surveys
by b2xu | 2025-08-22 12:02:57+00:00
I built Opclaro after seeing issues only show up in exit interviews. Surveys miss nuance and depth, and many staff members drown in email or don’t type much.

What it does: short anonymous and adaptive phone interviews with your team to uncover hidden risks and insights. No logins or survey fatigue.

Who it’s for: COOs, People Ops, and Ops leaders at 50–1,000 staff who need early warning during growth, reorgs, or M&A.

How it works: autonomously schedules 5–10 min calls with staff, transcribes, extract patterns, quantifies risk and insights by team/site/workstream.

What’s different: voice over forms, adaptive probing, zero admin, quantified insight extraction, forced feedback loops so that respondents feel heard.

I’d love feedback on: business model, objections, positioning, pricing, sales, product, etc.

Demo: https://opclaro.com

Happy to run free pilot interviews for 3 HN teams and share a redacted brief back in this thread.
by xyzzyz | 2025-08-22 12:03:22+00:00
Sure, true RAII would be improvement over both, but the author's point is that Java is an improvement over Go, because the resource acquisition is lexical scoped, not function-scoped. Imagine if Java's `try (...) { }` didn't clear the resource when the try block ends, but rather when the wrapping method returns. That's how Go's defer works.
by gwd | 2025-08-22 12:03:34+00:00
Well no, the second "if" statement is a red herring. Both of the following work:

bar, err := foo() if err != nil { return err } if err = foo2(); err != nil { return err }

and

bar, err := foo() if err != nil { return err } if err := foo2(); err != nil { return err }

He even says as much:

> Even if we change that to :=, we’re left to wonder why err is in scope for (potentially) the rest of the function. Why? Is it read later?

My initial reaction was: "The first `err` is function-scope because the programmer made it function-scope; he clearly knows you can make them local to the if, so what's he on about?`

It was only when I tried to rewrite the code to make the first `err` if-scope that I realized the problem I guess he has: OK, how do you make both `err` variable if-scope while making `bar` function-scope? You'd have to do something like this:

var bar MyType if lbar, err := foo(); err != nil { return err } else { bar = lbar }

Which is a lot of cruft to add just to restrict the scope of `err`.
by theshrike79 | 2025-08-22 12:03:34+00:00
People tend to refer to the bit where Discord rewrote a bit of their stack in Rust because Go GC pauses were causing issues.

The code was on the hot path of their central routing server handling Billions (with a B) messages in a second or something crazy like that.

You're not building Discord, the GC will most likely never be even a blip in your metrics. The GC is just fine.
by charliermarsh | 2025-08-22 12:03:50+00:00
All of our tools can be used independently and in coexistence with other tools. You can use `uv` with other build backends; you can use `virtualenv` to create your virtual environments, and `uv pip` to install into them; you can use `ruff` as a linter and `black` as a formatter, or `ruff` for both, or whatever. Here, similarly, you can use `uv` with `ruff`, or bring your own formatter. It's intentional for us that you can use the pieces that you want, and interoperate with other tools. But it's also intentional that we want using our tools _together_ to be a great experience. I think we can achieve both of these things. Or, at least, we're going to try.
by kalleboo | 2025-08-22 12:04:51+00:00
In the UK, indoors studio shots were on video, but outdoors location shots had to be on film, so there was an obvious difference in look when they cut between them.

Monty Python lampooned this in a sketch where Graham Chapman goes outside, exclaims "Good Lord, I'm on film!" and then flees indoors to the safety of video
by gabriel666smith | 2025-08-22 12:05:23+00:00
Thank you, I agree, I think it'd be helpful to publish aspects of it.

> Are you saying the training task is to ask for the (fib_i)th token rather than the next token?

Yes, functionally - I explained in more detail in another comment.

I'm not sure which is the key point (sort of what I'm trying to work out), but I'll get the model-generation code into the repo. Is that the best thing for you?
by theshrike79 | 2025-08-22 12:05:25+00:00
uv + the new way of adding the required packages in the comments is pretty good.

you can go `uv run script.py` and it'll automatically fetch the libraries and run the script in a virtual environment.

Still no match for Go though, shipping a single cross-compiled binary is a joy. And with a bit of trickery you can even bundle in your whole static website in it :) Works great when you're building business logic with a simple UI on top.
by amelius | 2025-08-22 12:05:43+00:00
https://pmc.ncbi.nlm.nih.gov/articles/PMC3444174/

> Using Effect Size—or Why the P Value Is Not Enough

> Statistical significance is the least interesting thing about the results. You should describe the results in terms of measures of magnitude –not just, does a treatment affect people, but how much does it affect them.

– Gene V. Glass
by xyzzyz | 2025-08-22 12:06:09+00:00
This also epitomizes the issue. What's the point of having `string` type at all, if it doesn't allow you to make any extra assumptions about the contents beyond `[]byte`? The answer is that they planned to make conversion to `string` error out when it's invalid UTF-8, and then assume that `string`s are valid UTF-8, but then it caused problems elsewhere, so they dropped it for immediate practical convenience.
by wongarsu | 2025-08-22 12:06:28+00:00
Not just the bigger homes, from what I can tell in US home construction the length of the hot water pipe isn't a consideration at all, while it is a common consideration in European homes. In Europe (vast overgeneralization incoming) it's not unusual to have a boiler or a tankless water heater directly in the bathroom to keep the line short, and then have the kitchen close by. Having multiple water heaters per home is also completely normal and a common solution if the kitchen is too far from the bathroom or multiple bathrooms are far from each other. In the US the norm seems to be to just stick a big boiler in the basement or somewhere else out of the way, then run hot water lines everywhere. Maybe in part due to the added effort of running 220V lines in a 110V country
by drunx | 2025-08-22 12:06:42+00:00
This article can be taken a little less seriously. It is just an opinion/experience of a person.

I think he has a lot of good points there. Yes he treads on the thin ice with the very big statements and generalisations, but those we don't have to "sign under with blood".

I do like the simple formula concept. It does make sense. It's not an ultimate representation of everything, but it's a nice idea of how to frame the differences between the logics we are dealing with.

I choose to not commit the whole message of the article to my core beliefs, but I'll borrow thoughts, ideas for the debates and work ahead.
by theshrike79 | 2025-08-22 12:06:52+00:00
I'm still traumatised by Java from my earlier career. So many weird patterns, FactoryFactories and Spring Framework and ORMs that work 90% of the time and the 10% is pure pain.

I have no desire to go back to Java no matter how much the language has evolved.

For me C# has filled the void of Java in enterprise/gaming environments.
by sarchertech | 2025-08-22 12:07:10+00:00
That doesn’t exist yet. Also Elixir is in no way a replacement for Go.

It can’t match it for performance. There’s no mutable array, almost everything is a linked list, and message passing is the only way to share data.

I primarily use Elixir in my day job, but I just had to write high performance tool for data migration and I used Go for that.
by JKCalhoun | 2025-08-22 12:07:12+00:00
My only critique is that I expect there is a lot of "cut off" when they fabricate these flat pieces from rectangular stock. (I assume the shape of the pieces are not optimized for nesting within one another when laid out on the original flat stock — picturing all kinds of odd, curved scraps.) Presumably the cutoff material is recyclable though.

EDIT: many of the examples look "sectional" where, I suppose, if you reduce the shapes down to enough sections you can make better use of sheet stock — the tradeoff of course being you need to add more joints requiring fastening and perhaps loss of strength.
by benreesman | 2025-08-22 12:07:18+00:00
GP's solution is the one that I (and I think most people) ultimately wind up using. But it's not a nice time in the usual "oh we'll just compile it" sense of a typical package.

flash-attn in particular has its build so badly misconfigured and is so heavy that it will lock up a modern Zen 5 machine with 128GB of DDR5 if you don't re-nice ninja (assuming of course that you remembered it just won't work without a pip-visible ninja). It can't build a wheel (at least not obviously) that will work correctly on Ampere and Hopper both, it incorrectly declares it's dependencies so it will demand torch even if torch is in your pyproject.toml and you end up breaking build isolation.

So now you've got your gigabytes of fragile wheel that won't run on half your cards, let's make a wheel registry. Oh, and machine learning everything needs it: half of diffusers crashes at runtime without it. Runtime.

The dirty little secret of these 50MM offers at AI companies is that way more people understand the math (which is actually pretty light compared to say graduate physics) than can build and run NVIDIA wheels at scale. The wizards who Zuckerberg will fellate are people who know some math and can run Torch on a mixed Hopper/Blackwell fleet.

And this (I think) is Astral's endgame. I think pyx is going to fix this at scale and they're going to abruptly become more troublesome to NVIDIA than George Hotz or GamersNexus.
by dangus | 2025-08-22 12:08:14+00:00
I made the leap due to Mac hardware cost and after seeing the Liquid Metal debacle. I also left iCloud Photos after Apple botched the UI.

I also got tired of jumping through hoops that didn’t really work most of the time to play games on Mac (e.g., Crossover).

But really, my Mac was an M1 system so I figured that even if I hated my Linux laptop I could just bail on it and get myself an M4 system as a nice upgrade. I was having issues with storage space and of course Macs aren’t upgradable so I have to sell my system and buy a new one to resolve that.

I’m very happy with my decision.

I run Bazzite with KDE and I’m very happy with the distro.
by mehrant | 2025-08-22 12:08:46+00:00
Thanks for the comment. :)

The target use cases include:

1- Session stores (can be reconstructed from auth service) 2- leaderboards/counters (recent scores/counters can be recalculated) 3- Real-time analytics/metrics (losing ~100ms of metrics is acceptable) 4- Caching layers with upstream persistence 5- High-frequency systems where latency > everything

I generally think that for KV stores, there are more use cases that can accept this _slightly_ relaxed durability model than not. of course this isn't the case for a main DB. KV stores often handle derived data, caches, or state that can be rebuilt.

That said, for cases needing stronger durability, you can call flush_all() after critical operations - gives you fsync-level guarantees. Also considering adding a "sync" or "Full ACID" mode that auto-flushes on every write for users who want strong durability.

The philosophy is: make the fast path really fast for those who need it, but provide escape hatches for stronger guarantees when needed.
by kace91 | 2025-08-22 12:09:18+00:00
My feeling is that in terms of developer ergonomics, it nailed the “very opinionated, very standard, one way of doing things” part. It is a joy to work on a large microservices architecture and not have a different style on each repo, or avoiding formatting discussions because it is included.

The issue is that it was a bit outdated in the choice of _which_ things to choose as the one Go way. People expect a map/filter method rather than a loop with off by one risks, a type system with the smartness of typescript (if less featured and more heavily enforced), error handling is annoying, and so on.

I get that it’s tough to implement some of those features without opening the way to a lot of “creativity” in the bad sense. But I feel like go is sometimes a hard sell for this reason, for young devs whose mother language is JavaScript and not C.