MurphyA/hacker-news huggingface dataset:
by Ray20 | 2025-06-01 13:58:22+00:00
>80 hours per week >60 hours per week

That never was the case (except for short periods after salary increases).

And this is not a question where there could be any speculation: in those days there were already people collecting such statistics, and we have a bunch of diaries describing the actual state of affairs, both from the workers themselves and from those who organized their labor - and everything shows that few people worked more than 50 hours a week on average.

Most likely, the myth about 80 hours a week stems from the fact that such weeks really were common, but it was work in the format of "work a week or two or a month for 80 hours, then a week or two or a month you don't work, spend money, arrange your life"

There is also agriculture, which employed a significant part of the population in the past. There, on average, there was usually even less than 40 hours of productive work, it's just that timing is of great importance there, and there are bottlenecks, and when necessary, you have to work 20 hours a day, which is compensated by periods when the workload is much less than 6 hours a day.
by aleph_minus_one | 2025-06-01 13:58:22+00:00
> I think that, ultimately, systems that humans use to interact on the internet will have to ditch anonymity.

Relevant meme video (which watching is in my opinion worth your time):

Raiden Warned About AI Censorship - MGS2 Codec Call (2023 Version) https://www.youtube.com/watch?v=-gGLvg0n-uY
by gavinray | 2025-06-01 14:00:01+00:00
This is one of the most ridiculous RIIR I've seen.

It's a CLI tool that makes API calls. I'd bet my bottom dollar that the performance difference between API-wrapping CLI tools in something like Ruby/Python vs Rust/C++ is negligible in perceived experience.

If they wanted people to not have a dependency on Node pre-installed, they could have shipped Single Executable Application's [0] or used a similar tool for producing binaries.

Or used Deno/Bun's native binary packaging.

[0] - https://nodejs.org/api/single-executable-applications.html
by zxexz | 2025-06-01 14:00:28+00:00
Yea, IME the best manual for nixos/nixpkgs is the repo and the manual for git, grep etc.

I clone or save every public repo or article or whatnot i find that helps me or seems interesting.

These two examples come to mind: the page that made what the config/options system really is [0], and the post that really drive home to me it’s all just configs! A config language all the way down! [1]

[0] https://nlewo.github.io/nixos-manual-sphinx/development/repl...

[1] https://astrid.tech/2022/11/03/0/overlay-nixpkgs-pr/
by hotsauceror | 2025-06-01 14:00:34+00:00
Perhaps your cautionary admonishments are unwarranted in this specific scenario.

It is logical enough to conclude that a story ending in two intelligence agents flying off for a time-sensitive meeting with a confidential informant, is an immediate prequel to the story that begins with the same two intelligence agents landing and meeting that confidential informant.

This is not quite the same situation as the end of Rogue One and A New Hope, where some people make the argument that Rogue One ends just a few minutes before ANH begins; I am not convinced by that argument, although the cinematography certain seems to be leading us there.
by beeflet | 2025-06-01 14:00:59+00:00
>Why shouldn't someone be able to buy a home and live there until they die if they can pay reasonable taxes?

Because the taxes aren't reasonable. Land is a limited resource.

Imagine a regulation that limited factories by taxing them on the amount of smog they produce. Your argument is like saying "old factories should be able to produce smog at the same tax rate as when they started, it's unreasonable to expect companies to just rebuild factories around new technology"

>What property are you holding hostage that I can liberate from you?

I don't own any property. But if I did, you would be free to liberate it for a pretty penny.

Parting with friends is a sadness. A place is only a place.
by giantg2 | 2025-06-01 14:01:14+00:00
"It is the exact opposite."

Not considering each neighborhood is how we get here. If you treat the city as a whole as a community, you lose the granularity and it ends up as you describe - the rich veto in their area.

But what is your solution? The section 8 housing or other universally unpopular projects have go somewhere. Do you think the SFH owners in the poor part of town want it in their backyard? It has to go somewhere. It's not about containing people like toxic waste. It's about existing individuals not wanting to deal with a reduction in their estavlished quality of life over statistically founded concerns (not appearence related but project specific, such as traffc fatalies, noise, etc).

"People want a single family home but is it because they want the shape or because society is arranged such that it is functionally the only way for the middle class to build wealth and feel a sense of housing stability?"

Does it matter? Is there a solution that would make a difference? For most people, this isn't really building wealth because you need to live somewhere, so that wealth isn't available to use. From my experiences and talking with others, it is mostly because of the stability, freedom, and not having to deal with bad neighbors as closely. I'm not sure what costs you are referring to that wouldn't apply to other types of housing. The only real subsidy homeowners get would be the property tax deduction. Maybe some developers worked out deals that indirectly benefited homeowners, but so too for the apartments. Where I'm at, you have to pay to install utilities from the street, pay taxes to support the infrastructure, etc. In fact, SFHs tend to pay more taxes than condos and apartments, subsidizing the schools and other property funded programs.
by rayiner | 2025-06-01 14:01:14+00:00
I read through the honor board reports at my law school once and they were disgusting. People blatantly cheated, then would make up some sort of excuse and the honor board would do nothing. The punishments for cheating should be certain and severe.

It’s not just about the reputation of the schools, it’s about society as a whole. A chronic problem in the third world is widespread cheating and low level corruption. The last straw that convinced my dad to leave our home country was a phone line installer asking for a bribe when he came to install a second line. If we don’t police our culture we will degenerate into that sort of behavior over time.
by snarf21 | 2025-06-01 14:01:25+00:00
I wonder if a scheme where you could "lock in your rates" would work. Instead of just waiting for reassessment or whatever and having no way to know how it will increase in the future or hoping it stays the same for a long time, maybe you could agree to a X% yearly increase and pick how many years. So you lock in 2% increase for the next 20 years. This could be especially nice for the elderly and allow a compromise for tax revenue. Each property owner gets to decide whether to hedge or not. (This would just be for non commercial properties only.) This is just a hair brain idea off the cuff, just thinking out loud.
by adrian_b | 2025-06-01 14:01:45+00:00
Memory latency only matters in chains of dependent instructions.

Otherwise the performance is limited by the memory transfer throughput, not by the latency of individual memory accesses.

The article demonstrates the difference between these 2 cases, even if its title could have been better.

Because the latency of memory loads is many times greater than the latency of any other kind of CPU instructions, both for loads from the main memory and for loads from the L3 cache memory, this effect is more visible in programs with many memory loads, like the examples from the article, than in programs using other instructions with long latencies.
by aspenmayer | 2025-06-01 14:02:17+00:00
When it's obvious that entire posts and users are fake, and knowing that product pages on Amazon (which are also sometimes fake) can change what product they list for sale, and since it is known that upvotes/likes/shares are openly for sale, is it really such a stretch to assume that all "recommendations" are as fake as the original question also likely is, until we have evidence to the contrary?
by paddy_m | 2025-06-01 14:02:23+00:00
What is the return type of an overloaded function? I don't see that in any of the examples.

I think it would make sense to have each function return either the exact same type, or a generic.

@ovld(int) #all of these overloads should return an int len(a:list) -> int len(a:str) -> int #the effective type of len is len(a:Union[int, str]) -> int

and then a generic example

T = TypeVar('T') @ovld(T) add(a:np.int8, b:np.int8) -> np.int8 @ovld(T) add(a:np.int16, b:np.int16) -> np.int16

In the second example, I don't know how you would connect the input params to the generic T. If you put concrete types in, I see how ovld works.

Am I missing something?
by littlestymaar | 2025-06-01 14:02:59+00:00
> in the sense that things that are usually bad ideas ought to be a bit more difficult,

I didn't know that the Zig folks had embraced the Go philosophy of “the language designer knows better than you” for trivial stuff like that.

That's the kind of behavior that lead people to build their own version of things, incompatible with the whole ecosystem, just to be free from the petty arbitrary limitation.
by ViewTrick1002 | 2025-06-01 14:03:04+00:00
> Why on earth would you run a nuclear power plant as a peaker? That’s inefficient and wasteful. You run a nuclear power plant at full tilt, all the time. Then you divy up any excess demand to other sources of power.

Because you have no choice. There simply are not takers for your expensive energy when competing against zero marginal cost renewables.

In Australia there are grids which sometimes are met to 107% with rooftop solar alone. [1] All utility scale renewables are curtailed, let alone expensive thermal plants.

In these grids what was previously "base load" plants running at full tilt 24/7 are forced to become peakers or shut down. [2]

[1]: https://reneweconomy.com.au/rooftop-solar-meets-107-5-pct-of...

[2]: https://www.abc.net.au/news/2024-10-13/australian-coal-plant...
by gwynforthewyn | 2025-06-01 14:04:57+00:00
> Especially interesting for software that are 99.9% of the time waiting for inference to come back to you.

In a different domain, I’ve seen a cli tool that requests an oauth token in Python be rewritten to rust and have a huge performance boost. The rust version had requested a token and presented it back to the app in a few milliseconds, but it took Python about five seconds just to load the modules the oauth vendor recommends.

That’s a huge performance boost, never mind how much simpler it is to distribute a compiled binary.
by photonthug | 2025-06-01 14:04:59+00:00
> increasing the cognitive effort required for humans to interact or be heard. I dont see this playing out in a healthy manner

We are at the stage where it’s still mostly online but the first ways this will leak into the real world in big ways are easy to guess. Job applications, college applications, loan applications, litigation. The small percentage of people who are savvy and naturally inclined towards being spammy and can afford any relevant fees will soon be responsible for over 80 percent of all traffic, not only drowning out others but also overwhelming services completely.

Fees will increase, then the institutions involved will use more AI to combat AI submissions, etc. Schools/banks/employers will also attempt to respond by networking, so that no one looks at applicants directly any more, they just reject if some other rejected. Other publishing from calls for scientific papers to poetry submissions kind of progresses the same way under the same pressures, but the problem of “flooded with junk” isn’t such a new problem there and the stakes are also a bit lower.
by 90s_dev | 2025-06-01 14:05:43+00:00
Never heard of Signals[1] until now, thanks. But it makes me nervous with how much influence it has from React and Vue, and the way React and Vue do things. These are not the be all end all methods of reactivity, and I can't help but think if there's going to be an official language feature implemented for this, there needs to be room for other voices to be heard that have zero influence from React/Vue. Maybe there's still time since it's Stage 1.

[1] https://github.com/tc39/proposal-signals
by femiagbabiaka | 2025-06-01 14:05:49+00:00
> I had _guessed_ that something like the "Building your own installer" section would work, but because of the nature of Nix I never really feel 100% confident that something is gonna work as I hope until I physically try it. Usually it does.

One of the most underrated features of Nix imo is the testing story. You absolutely can be confident that something will work!

https://nixcademy.com/posts/nixos-integration-tests/
by aspenmayer | 2025-06-01 14:05:54+00:00
Next, I'm sure, you'll be telling me you're not a bot, Mr Marshall?

https://www.youtube.com/watch?v=4VrLQXR7mKU

Previously (6 months ago but didn't trend, perhaps due for a repost?):

https://news.ycombinator.com/item?id=42353508
by ykonstant | 2025-06-01 14:05:59+00:00
> for me, the assignments were a distraction from learning.

How? I can vaguely see it if the assignments were truly out of step with the material, but I cannot understand how relevant assignments are a distraction. In mathematics, and in all CS courses I have taught, assignments are at the core of what you are learning, and the best feedback (to yourself and your teacher) that you have a working knowledge of the material.
by diggan | 2025-06-01 14:07:09+00:00
> Clojure is far from the whole truth when it comes to Lisp though.

That's true for sure, and I'm sorry if my comment gave that impression, I'm not trying to say that Clojure is the only lisp, or even the best lisp! Just the one that fit me and my problems the best.

> and isn't chained to the JVM.

Neither is Clojure (the language), as it's available with JavaScript as a host (ClojureScript), LLVM (Jank) or even the Erlang VM (Clojerl). I'm sure there are more out there too, but the Clojure-JVM runtime isn't the only one available.

With that said, lots of people say Common Lisp is another good lisp, and been deployed in production for many decades, so I'm sure it's another great choice if anyone wanna get deeper into lisps. I personally haven't taken the time (yet!) to get to know it on any deeper level, so would be weird to recommend it before another lisp I know much better.
by RHSeeger | 2025-06-01 14:07:17+00:00
> I think the simpler explanation is that the CS degree is supposed to be an independent verification that the student has learned and can employ fundamental aspects of CS.

When you have 5 positions open, and 100, 500, or even more people applying for that position, having a broad filter to help reduce the numbers it very useful. While that filter can be wrong, using it is likely to raise the average qualifications of the people in the pool, even if it does cut out some of the well qualified people.
by pjmlp | 2025-06-01 14:07:31+00:00
Java is too advanced for Go folks, it is a PhD level language, when compared with Go minimalism, and their disdain for modern type systems (modern as in, invented in 1976, e.g. CLU and ML).

Also it is quite ironic how given the Java bashing on Go community, there was so little learned from Java evolution and design mistakes.

They even ended up having to reach for the same folks that helped designing Java generics.

As for your remark, the actual rewrite history as told at FOSDEM, is that the rewrite only happened as two strong minded Go devs joined the Kubernetes team and heavily pushed for the rewrite.
by littlestymaar | 2025-06-01 14:07:58+00:00
What do you mean by “a JavaScript frontend for LLVM”?

Edit: ah, I see, I read “LLM” instead of LLVM at first! It's only after I posted my question that realized my mistake.

I'm not sure it makes sense to compile JavaScript natively, due to the very dynamic nature of the language, you'd end up with a very slow implementation (the JIT compilers make assumptions to optimize the code and fall back to the slow baseline when the assumptions are broken, but you can't do that with AoT).
by detourdog | 2025-06-01 14:08:22+00:00
My experience is that if a community feels that land is underutilized they will simply tax at the value the community would like to see the land used.

We had a family farm that had our taxes go from under $4,000 to around $25,0000 in a single year. There was no warning it just happened. We ended up selling the farm in a few years at a value it was being taxed.

I also think that NIMBY/YIMBY is a strawman argument used to keep the conversation from developing.
by ralusek | 2025-06-01 14:08:35+00:00
Speaking for myself: one reason would be because it's one of the things LLMs/tools like Codex are the most useful for.

When I have a smallish application, with tests, written in one language, letting an LLM convert those files into another language is the single task I'm most comfortable handing over almost entirely. Especially when I review the tests and all tests in the new language are passing.
by quotemstr | 2025-06-01 14:09:16+00:00
It's interesting how people conflate language choice with memory management strategy, compilation mechanism, distribution toolset, and type system strictness. I mean, on one hand, people explain that Rust's manual memory management makes it fast, but then also praise garbage collected Go for its speed and low startup latency. It's not that manual=fast and GC=slow: it's that Go's GC doesn't suck, and you can make fast GCed programs and slow manually memory managed ones (like games and their infamous loading screens). The equation of GC with slow is just a simplifying idea embedded in industry consciousness.

Likewise, you can make a single file distribution of a TypeScript program just fine. (Bun has built in support even.) But people don't think of it as a "thing" in that ecosystem. It's just not the culture. TypeScript means npm or Electron. That's the equivalence embedded in the industry hive mind.

To be clear, I'm not decrying this equivalence. Simplification is good. We use language as a shorthand for a bundle of choices not necessarily tied to language itself. You can compile Python with Nuitka or even interpret C. But why would you spend time choosing a point on every dimension of technical variation independently when you could just pick a known good "preset" called a language?

The most important and most overlooked part of this language choice bundle is developer culture. Sure, in principle, language choice should be orthogonal to mindset, areas of interest, and kinds of aptitude. But let's be real. It isn't. All communities of humans being and Go developers evolve shared practices, rituals, shibboleths, and priesthoods. Developer communities are no exception.

When you choose, say, Rust, you're not just choosing a language. You're choosing that collection of beliefs and practices common among people who like to use that language. Rust people, for example, care very much about, say, performance and security. TypeScript people might care more about development speed. Your C people are going to care more about ABI stability than either.

Even controlling for talent level, you get different emphases. The Codex people are making a wire format for customizing the agent. C people would probably approach the problem by making a plugin system. TypeScript people would say to just talk to them and they'll ship what you need faster than you can write your extension.

Sometimes you even see multiple clusters of practitioners. Game development and HFT might use the same C++ syntax, but I'd argue they're a world apart and less similar to each other than, say, Java and C# developers are.

That's why language debates get so heated: they're not just expressing a preference. They're going to war for their tribe. Also, nothing pisses a language community off more than someone from a different community appropriating their sacred syntax and defiling it by using it wrong.

Codex isn't so much swapping out syntax as making a bet that Rust cultural practices outcompete TypeScript ones in this niche. I'm excited to see the outcome of this natural experiment.
by beeflet | 2025-06-01 14:10:09+00:00
Is it putting the cart before the horse? those zoning laws are a result of property owners trying to benefit from the unimproved value of the land by locally restricting the supply of property.

If you cut off the profit motive by disenfranchising property owners in this respect, the building regulation will return to the level needed for (actual) public safety and wellness (as opposed to just racketeering).
Show HN: LLM Loop - An autonomous task execution plugin for the LLM CLI tool
by nkko | 2025-06-01 14:10:28+00:00
I built this plugin for @simonw's LLM CLI tool to let the AI work autonomously toward goals through multiple tool calls and iterations.

Why build this when we have Cursor, Windsurf, Claude Code, etc.? Those are great, but sometimes you just want your existing SOTA LLM to handle multi-step tasks without switching tools. All you need is LLM.

Example: ``` llm loop "Create a Flask web application" ```

The AI will create files, write templates, generate requirements.txt, and provide run instructions - all in one command.

Key features: - Chains multiple tool calls within conversations - Built-in safety with approval mechanisms - Works with existing LLM CLI tools and custom functions - Use any model as an autonomous agent

I use it for project setup, code generation, and analysis tasks where you'd normally need multiple back-and-forth prompts or a separate AI coding tool.

GitHub: https://github.com/nibzard/llm-loop PyPI: https://pypi.org/project/llm-loop-plugin/

Thoughts on just LLM vs. dedicated coding agent?
by 0xfffafaCrash | 2025-06-01 14:11:07+00:00
I haven’t ever seen issues scaling with jotai even on very large apps working with extremely complex data structures.

I’ve seen far larger messes created in redux due to tight coupling of things across large apps to a global store and the inability to work with things like Maps and Sets or other values that are not trivially JSON serializable.

In the other direction I have seen messes with observable-based state management systems where things become far more complex and too far abstracted (how often do you really care about anything other than the latest value and maybe the previous one?) or with proxy based systems that have too much fragile magic (valtio, mobx) or require wrapping your components and going all in on oop (mobx)

To me signals hit the magic spot of reactive without being overkill and keep code testable in smaller units while retaining performance benefits of surgical updates

I like xstate in theory — it’s a good way to think about complex state transitions — but in at least half of cases in practice where you aren’t interested in a derived value, someone is storing a value/ getting the latest value or toggling a boolean and it’s just such overkill for that. The reducer pattern itself doesn’t meaningfully show up much for similar reasons. The other common cases are with fetching states (idle, loading, refetching, success, error) but you often end up wanting things like cache management or maybe even optimistic updates so eventually tanstack query covers that ground better than rolling your own.