MurphyA/hacker-news huggingface dataset:
by trelane | 2025-08-27 17:04:09+00:00
> Problems with sleep/suspend modes is a relatively common in Linux.

It is if you slap Linux on your Windows computer and expect it to work. Dell etc have teams whose entire job is ensuring Windows works well on their hardware. These are systems integration teams.

If you try to put Linux on a Windows box, you've signed up to do all the system integration work yourself, without any help or support (eg documentation) from anyone.

The best Linux experience will happen on hardware that was designed to run Linux, with a system integration team to make the hardware/firmware and Os work together, with a support line you can call or write.
by mindslight | 2025-08-27 17:04:15+00:00
The "changed policy positions" of supporters that I described in the two prior paragraphs, which you seem to have just ignored. I certainly knew Trump was going to impose massive tariffs (aka taxes landing chiefly on consumers), run up the debt, and create hefty price inflation like he did the first time around. But all of the people saying they were supporting Trump because of "inflation" certainly didn't appear to. I will ask again: how was your "I support Trump because he wants to raise taxes. BTW I'm a democrat" argument received in 2024? Did you find a lot of agreement among fellow Trump supporters?

And as I also said, tariffs aren't really a "consumption tax" as economists champion, because they also tax industrial investment - exactly one of the things Trump claims his policies are meant to encourage, not discourage. But you skipped addressing that point, too.
by clickety_clack | 2025-08-27 17:04:22+00:00
I worked as a geotechnical engineer for almost a decade, working on (amongst other things) landslides in mountain passes. It was a fun job!

I like this article. Geoscience isn’t well understood by most people, so I usually get reminded of the Gell-Mann Effect whenever I read a news article about it. But, this one correctly frames landslides as having created these feature in the first place, and that they were always going to fall at some point, rather than treating them as eternal features.

The features we see around us that seem so constant, like mountains, rivers, shorelines, lakes and seas, are all in a state of flux. Geological processes under some of our most populous cities are moving them by measurable amounts every year, and the numbers aren’t microscopic (up and down too, not just the sideways movement many people have heard about). Where once there were sea beds, there are now jagged mountains, and there will sometime be fields and then seas again.
by leptons | 2025-08-27 17:05:04+00:00
Same here. Work requires I use Windows or Mac, but I've switched most of my home systems over to Mint Linux. The final nail in the coffin for Microsoft for me was when I upgraded my CPU in my desktop, the MS Office liscense I paid for stopped working and they wanted me to pay another few hundred dollars for another liscence. I mainly only used Office for Outlook as I have 30 years of emails in Outlook, but I switched over to Firebird on Linux and have not looked back. The AI stuff going on with Windows is definitely a big part of me wanting to switch too. I do not want what Microsoft is selling anymore.
by miladyincontrol | 2025-08-27 17:05:31+00:00
Your point about resume badges of honor is what really jaded me leading up to their decline around covid.

Even before all the LLM nonsense as of late I saw way too many events which had speakers that honestly just had nothing interesting to say who just seemed to be regurgitating 3rd hand information. Just the bare minimum to have gotten in front of people.
by ViewTrick1002 | 2025-08-27 17:05:47+00:00
That comes from the where the tokio task is spawned annotating the future with send.

https://docs.rs/tokio/latest/tokio/task/fn.spawn.html

If you want to run everything on the same thread then localset enables that. See how the spawn function does not include the send bound.

https://docs.rs/tokio/latest/tokio/task/struct.LocalSet.html
by blueflow | 2025-08-27 17:06:12+00:00
> While this could absolutely happen, the way that Linux as a whole has been developing over the years isn't always conducive to making the world's Windows and macOS users convert en masse.

Its the way Windows is developing that is driving this change. GNOME might be hardly usable but Microsoft managed to top that.

Edit: I retract the last sentence. I'm currently trying GNOME and its less usable than Windows.
by veber-alex | 2025-08-27 17:06:32+00:00
The compiler doesn't know anything about threads.

The compiler knows the Future doesn't implement the Send trait because MutexGuard is not Send and it crosses await points.

Then, tokio the aysnc runtime requires that futures that it runs are Send because it can move them to another thread.

This is how Rust safety works. The internals of std, tokio and other low level libraries are unsafe but they expose interfaces that are impossible to misuse.
by Pulcinella | 2025-08-27 17:06:52+00:00
Personal pet peeve, but the word people use really should be "lease." Copyright and patent rights are licensed (e.g. getting a license from Disney to manufacture Star Wars toys). The particular copy of the software you have is either sold or leased to you. If you buy a physical book, you are just being sold a copy. The book itself doesn't function as an ad hoc, theoretical license or anything.

Not sure how first sale affects software sales other than software rental in the USA is an exception to the first sale doctrine. Software rental is not allowed unless it's a physical video game copy for a video game console or you have a physical copy of the software and you can't just easily make a copy of it in the normal course of using it (not sure exactly what this would mean, but presumably things like software for embedded devices). There are exceptions for libraries and educational institutions.

I am not a lawyer, however.
by DrewADesign | 2025-08-27 17:06:57+00:00
> These AI chatbots are statistical text generators

Be careful about trivializing the amount of background knowledge you need to parse that statement. To us that says a lot. To someone whose entire life has been spent getting really good at selling things, or growing vegetables, or fixing engines, or teaching history, that means nothing. There’s no analog in any of those fields that would give the nuance required to understand the implications of that. It’s not like they aren’t capable of understanding it; their only source of information about it is advertising, and most people just don’t have the itch to understand how tech stuff works under the hood— much like you’re probably not interested in what specific fertilizer was used to grow your vegetables, even though you’re ingesting them, often raw, and that fertilizer could be anything from a petrochemical to human shit— so they aren’t going to go looking on their own.
by upghost | 2025-08-27 17:07:14+00:00
The three things I have repeatedly failed to learn, they just don't seem to stick for me: Dvorak, Specter[1] (the Clojure library), and APL. So I appreciate these tips whenever I find them.

My issue with APL is I was never able to turn the corner to "generic problem solving" in APL (or other array langs). It feels like learning written Chinese, like 50,000 individual techniques but if you know them you can do incredible things quickly. For the problems I know how to solve, I can solve them quickly. And you CAN do amazing things with inner products in APL.

On the other hand, studying APL, even if you don't master it, is not without benefits. LLM transformer architecture and GraphBLAS algorithms are junior APL level implementation problems (at least conceptually, operationalizing them is a different story).

Adam Brudzewski has one of the most criminally underrated YouTube channels[2]. It would be great to solve problems that elegantly in any language, and Adam has always been very friendly in answering questions if you ever get a chance to speak with him. I just seem to be a lost cause lol.

[1]: https://github.com/redplanetlabs/specter

[2]: https://www.youtube.com/@abrudz
by bonoboTP | 2025-08-27 17:07:45+00:00
This is the easy explanation, but doubtful. Similarly people blame costs for having fewer children. Except people aren't objectively worse off than before. People in poor countries manage to socialize just fine.

I think it's more a mismatch with subjective expectation. Combined with news, social media, plenty of infinite entertainment on tap tailored to you, apps for food delivery, etc. It's a better bet on the day to day timescale than even talking to neighbors (for free), who likely don't align with your interests and online bubbles. And anyway everyone is likely to move soon, no sense in investing time. The benefits would only accumulate slowly over a long time, so people don't bother. Feedback cycles must be quick. And social media also turns hobbies and hanging out into competition. You can and often feel like you're supposed to obsess over the details of the hobby, see better gear on YouTube, people doing it much better than you ever will, so watching is just good enough.
by AOE9 | 2025-08-27 17:07:48+00:00
This blog feels like a poor ad, I was hoping for technical details but seems like this tool just swept in and 'saved the day'. I have no idea how

* Provisioning time dropped from hours to minutes. * Debugging speed improved because we could fix it in real time.

happened.

Seems like the problem of a long feedback loop would have been solved by pull request preview environments and or enabling developers to have their own deployed instances for testing etc.
by ninetyninenine | 2025-08-27 17:08:13+00:00
It can't be 100% saved, but like the OP said it's 80% saved.

It's not true you can't build reliable software in python. People have. There's proof of it everywhere. Tons of examples of reliable software written in python which is not the safest language.

I think the real thing here is more of a skill issue. You don't know how to build reliable software in a language that doesn't have full type coverage. That's just your lack of ability.

I'm not trying to be insulting here. Just stating the logic:

A. You claim python can't build reliable software. B. Reliable Software for python actually exists, therefore your claim is incorrect C. You therefore must not have experience with building any software with python and must have your hand held and be baby-sitted by rusts type checker.

Just spitting facts.
by deathanatos | 2025-08-27 17:08:21+00:00
I've not tried Pyright, but mypy on any realistic, real-world codebase I've thrown at it emits ~80k errors. It's hard to get started with that.

mypy's output is, AFAICT, also non-deterministic, and doesn't support a programmatic format that I know of. This makes it next to impossible to write a wrapper script to diff the errors to, for example, show only errors introduced by the change one is making.

Relying on my devs to manually trawl through 80k lines of errors for ones they might be adding in is a lost cause.

Our codebase also uses SQLAlchemy extensively, which does not play well with typecheckers. (There is an extension to aid in this, but it regrettably SIGSEGVs.)

Also this took me forever to understand:

from typing import Dict JsonValue = str | Dict[str, "JsonValue"] def foo() -> JsonValue: x: Dict[str, str] = {"a": "b"} return x x: JsonValue = foo()

That will get you:

example.py:7: error: Incompatible return value type (got "dict[str, str]", expected "str | dict[str, JsonValue]") [return-value]
by 1vuio0pswjnm7 | 2025-08-27 17:09:46+00:00
"The Github website is slow everywhere."

Perhaps it depends what software one is using

For example, commandline search and tarball/zipball retrieval from the website, e.g., github.com, raw.githubusercontent.com and codeload.github.com, are not slow for me, certainly not any slower than Gitlab

I do not use a browser nor do I use the git software
by KeepFlying | 2025-08-27 17:10:40+00:00
I'm almost positive that it's both and also a short-sighted "give the customer what they ask for" approach. You could easily achieve local auto save, or a clear "upload to the cloud" UX, or whatever else. But the user got confused about saving documents, sooooo cloud.

Then the data centralization is a nice plus that makes it impossible to go back on.
by sobukwelu | 2025-08-27 17:10:46+00:00
Just wrote about what happens when you feed Claude Code a "simple" user story and it generates tens of thousands of lines trying to meet its own definition of done :sweat_smile:

OODA Loops and Git Worktrees: Nine Tactical Lessons from AI-Augmented Development

Sharing 9 hard-won lessons from months of Claude Code usage, including: Why context dumping creates hallucination feedback loops How to prevent agent merge conflicts that look like abstract art Why /context is like checking your bank balance (I once lost 49k tokens to MCP servers before typing a word) The explore → plan → execute workflow that actually works
by CyberMacGyver | 2025-08-27 17:12:05+00:00
It’s funny your comment history says otherwise. In fact you engage defensively about these posts when they support your political view. Seems like you flag content that doesn’t align with your views

0. https://news.ycombinator.com/item?id=43837358

1. https://news.ycombinator.com/item?id=43823018

2. https://news.ycombinator.com/item?id=43499550
by klabb3 | 2025-08-27 17:12:10+00:00
You are conflating design with bloat. It's not the designers fault that click tracker SDKs and 15 microservices with eventual consistency is running in the background. They didn't make the mobile app 300MB.

Obviously designers can destroy products too, but we got much bigger problems than that in 2025. Most of the garbage today come from business decisions and technical fads.
by ivm | 2025-08-27 17:12:15+00:00
Yes, HN discussions of LLMs are quite tiresome. I make indie apps, but it has been getting worse and worse over the years, as the API surfaces and UI variety of iOS and Android have grown.

Claude Code and ChatGPT brought me back to the early 2010s golden age when indies could be a one-man army. Not only code, but also for localizations, marketing. I'm even finally building some infrastructure for QA automation! And tests, lots of tests. Unimaginable for me before because I never had that bandwidth.

Not to mention that they unblock me and have basically fixed a large part of my ADHD issues because I can easily kickstart whatever task or delegate the most numbing routine work to an agent.

Just released a huge update of my language-learning app that I would never dreamed of without LLM assistance (lots of meticulous grammar-related work over many months) and have been getting a stream of great reviews. And all of that for only $100+20 a month – I was paying almost twice as much for Unity3d subscription a decade ago.
by skydhash | 2025-08-27 17:12:21+00:00
Linux desktop has already arrived for me. All the apps and utilities I need is there, all installable via apt. It's not a Linux problem anymore when the hardware manufacturers won't support it.

GNOME is nice, KDE is nice, and we have other options for people that don't like the two previous one. The issue we have now is walled garden, when some proprietary software won't support standards and even their own file format.
by giancarlostoro | 2025-08-27 17:14:01+00:00
> I’m convinced the role of an engineer is shifting from a hands-on coder to an architect of these intelligent systems.

I think this is what a lot of people do and don't understand. The AI is only as good as your ability to architect the software. I think I'd be okay if someone wrote AI generated code if they hand wrote all unit testing to ensure that the AI isn't producing garbage, I think this is a reasonable trade.
by benjaminclauss | 2025-08-27 17:14:15+00:00
These little tutorials and games are great. I played VIM Adventures.

However, one thing I really struggle with is learning when I can be doing something more efficiently. I rarely use markers, anything beyond default registers, commands, and so on.

I'm giving Neovim a try for my systems course trying to get better but I do wish these sorts of games pushed me to get better at these more advanced usage tricks.
by cowboylowrez | 2025-08-27 17:14:43+00:00
its TDS, I had a spell of it in 2016. I believe at least some are trying to get it into that catalog of mental health disorders. The actual feeling I can recall is very similar to when I was really down on my luck, no car, and I had my bike stolen. I can understand and am empathetic to fellow sufferers, being a victim of folks who mean you harm for whatever reason is never fun, but at least with TDS you are surrounded by millions of other victims so you have folks to commiserate with.
by nosignono | 2025-08-27 17:15:34+00:00
> many of Americas regions are effectively uncivilized

I suppose America does have a lot of undeveloped land and national parks that are left wild, but I don't see how that could ...

> ... the real number of Africans incarcerated in the USA would be even far higher

... Ohhhh you are just racist. Got it. Take that somewhere else.
by holoway | 2025-08-27 17:15:45+00:00
Ryan can give you more details about his own experience. (I'm the CEO of System Initiative) But a lot of it comes from switching to a model where you work with an AI agent alongside digital twins of the infrastructure.

In particular, debugging speed improves because you can ask the agent questions like:

`I have a website running on ec2 that is not working. Make a plan to discover all the infrastructure components that could have an impact on why I can't reach it from a web browser, then troubleshoot the issue.`

And it will discover infrastructure, evaluate the configuration, and see if it can find the issue. Then it can make the fix in a simulation, humans can review it, and you're done. It handles all the audit trails, review, state, etc for you under the hood - so the actual closing of the troubleshooting loop happens much faster as well.
by NobodyNada | 2025-08-27 17:15:53+00:00
The way that this fully works together is:

- The return type of Mutex::lock() is a MutexGuard, which is a smart pointer type that 1) implements Deref so it can be dereferenced to access the underlying data, 2) implements Drop to unlock the mutex when the guard goes out of scope, and 3) implements !Send so the compiler knows it is unsafe to send between threads: https://doc.rust-lang.org/std/sync/struct.MutexGuard.html

- Rust's implementation of async/await works by transforming an async function into a state machine object implementing the Future trait. The compiler generates an enum that stores the current state of the state machine and all the local variables that need to live across yield points, with a poll function that (synchronously) advances the coroutine to the next yield point: https://doc.rust-lang.org/std/future/trait.Future.html

- In Rust, a composite type like a struct or enum automatically implements Send if all of its members implement Send.

- An async runtime that can move tasks between threads requires task futures to implement Send.

So, in the example here: because the author held a lock across an await point, the compiler must store the MutexGuard smart pointer as a field of the Future state machine object. Since MutexGuard is !Send, the future also is !Send, which means it cannot be used with an async runtime that moves tasks between threads.

If the author releases the lock (i.e. drops the lock guard) before awaiting, then the guard does not live across yield points and thus does not need to be persisted as part of the state machine object -- it will be created and destroyed entirely within the span of one call to Future::poll(). Thus, the future object can be Send, meaning the task can be migrated between threads.
by garciansmith | 2025-08-27 17:15:54+00:00
> The problem is that these are "wins" because they bring Linux closer to Windows or macOS.

I disagree that this is an issue. The main advantage of Linux for me is that I have choice (including using various desktop environments that the author is annoyed by; I used GNOME for years and eventually had too many problems with it so I switched to KDE), and those choices are not controlled by one entity which, in the case of Apple and Microsoft, view me only as a customer to extract money from.
by imiric | 2025-08-27 17:15:59+00:00
That is an impossible task in practice for most developers.

Many distros, and Debian in particular, apply extensive patches to upstream packages. Asking a developer to depend on every possible variation of such packages, across many distros, is a tall order. Postgres and Nginx might be able to do it, but those are established projects with large teams behind them and plenty of leverage. They might even be able to influence distro maintainers to their will, since no distro will want to miss out on carrying such popular packages.

So vendoring is in practice the only sane choice for smaller teams and projects.

Besides, distro package managers carrying libraries for all programming languages is an insane practice that is impossible to scale and maintain. It exists in this weird unspecified state that can technically be useful for end users, but is completely useless for developers. Are they supposed to develop on a specific distro for some reason? Should it carry sources or only binaries? Is the dependency resolution the same for all languages? Should language tooling support them? It's an entirely ridiculous practice that should be abandoned altogether.

Yes, it's also silly that every language has to reinvent the wheel for managing dependencies, and that it can introduce novel supply chain attack vectors, but the alternative is a far more ludicrous proposition.
by pavel_lishin | 2025-08-27 17:16:13+00:00
> The results were pretty wild (~800 commits, 100+ PRs, and a functioning app we use internally at my company)

I'd be very interested to hear less about the process, and more about the app itself.

If a week "in the hole" resulted in a Slackbot that greets people when they enter a Slack channel, I'd be significantly less impressed than if you'd built, say, a CI pipeline, or something that automatically creates Jira tickets based on outages, or automatically handles subscription renewals or something.

Plus, the number of commits & PRs is absolutely not a useful metric. How well is the app running? How many bugs are you finding day to day? How much functionality is missing, how easy is it to add new functionality based on user feedback, etc? Monitoring?
by bonoboTP | 2025-08-27 17:16:28+00:00
The new trend is towards the infinite autoscroll, where they serve you the content, they are in the driver seat, but you can flick your finger up if you're bored. That's the single UI-action they trust you with. They know that if it's a list where you only see what you explicitly asked for, you'll leave, even though you'd stay if you started a few seconds of whatever their algo thinks you should be served.

This is why YouTube search also went to trash. If the search result list doesn't have the thing you're looking for, you might close the window. But if they intersperse some clickbait in the list, you may click that instead and stay on the platform.

The best in this is of course Tiktok, where the overwhelming usecase isn't even searching, just the for you page and tuning in to the linear stream they serve up. If the user has time to think and feels in control, they may use that control to quit the app.