MurphyA/hacker-news huggingface dataset:
by jillesvangurp | 2025-10-29 21:13:22+00:00
Python is not my first language but I've always liked it. But project and dependency management was always a bit meh and an afterthought.

Over the years, I've tried venv, conda, pipenv, petry, plain pip with requirements.txt. I've played with uv on some recent projects and it's a definite step up. I like it.

Uv actually fixes most of the issues with what came before and actually builds on existing things. Which is not a small compliment because the state of the art before uv was pretty bad. Venv, pip, etc. are fine. They are just not enough by themselves. Uv embraces both. Without that, all we had was just a lot of puzzle pieces that barely worked together and didn't really fit together that well. I tried making conda + pipenv work at some point. Pipenv shell just makes using your shell state-full just adds a lot of complexity. None of the IDEs I tried figured that out properly. I had high hopes for poetry but it ended up a bit underwhelming and still left a lot of stuff to solve. Uv succeeds in providing a bit more of an end to end solution. Everything from having project specific python installation, venv by default without hassle, dependency management, etc.

My basic needs are simple. I don't want to pollute my system python with random crap I need for some project. So, like uv, I need to have whatever solution deal with installing the right python version. Besides, the system python is usually out of date and behind the current stable version of python which is what I would use for new projects.
by Multicomp | 2025-10-29 21:13:24+00:00
I agree with you wholeheartedly, besides not preferring dynamic programming languages, I would in the past have given python more of a look because of its low barrier to entry...but I have been repulsed by how horrific the development ux story has been and how incredibly painful it is to then distribute the code in a portable ish way.

UV is making me give python a chance for the first time since 2015s renpy project I did for fun.
by HeyMeco | 2025-10-29 21:14:06+00:00
First of all thank you everybody for reading and commenting! I want to address some of the comments I got regarding the article:

- xyz vendor is not covered: For this there is a simple answer, I don't have the hardware so I can't make a fair judgement when reporting about it. I don't want to be another reporter of basic benchmark scores & 1080P Youtube playback but actually show off the hardware capabilties with the right software. Hopefully this will be possible with more in the future as this project grows

- This is only one sector of the space why don't you have micro controllers or x86: While I want to cover all aspects of the space I am not an embedded engineer. I started during covid with the goal to replace my X86 homelab server with an ARM one to save power and got deeper into the rabbit hole until I ended up maintaining some boards and doing some Debian/Ubuntu based bring ups in my freetime. This led to me wanting to have one place to share my findings along the way and document things that might leave one stranded in the world of Yocto/U-Boot/Linux Kernel/Device-Trees/etc. and I created sbcwiki.com, not only for me to share my findings but for others to contribute with simple markdown files to the GitHub repo too.
by collinmanderson | 2025-10-29 21:14:24+00:00
I agree flake8 -> ruff was more of a game changer for me than pip+venv -> uv. I use flake8/ruff for more often than pip/venv.

uv is probably much more of a game changer for beginner python users who just need to install stuff and don't need to lint. So it's a bigger deal for the broader python ecosystem.
by throwaway89201 | 2025-10-29 21:15:02+00:00
> I'd have to download Steam, buy individual games like Counterstrike, and the wackiest thing would be the "surf" gamemode.

It's interesting that you chose Counter-Strike as an example, as that is a Half Life mod itself, and by 2006 there was a large ecosystem [1] of Half Life modifications using Metamod and AMX Mod (X). The last one in a weird C-like language called Small or Pawn, which was my first programming language that I made serious programs with.

Especially the War3FT mod where users gained server-bound XP in combination with a reserved slots plugins which allowed top-XP users to join a full server really created a tight community of players on my tiny DSL home-hosted server.

[1] https://www.amxmodx.org/compiler.php?mod=1&cat=0&plugin=&aut...
by zahlman | 2025-10-29 21:15:18+00:00
> I want this package to be available to me EVERYWHERE, why can't I do it?

Because it being available in the system environment could cause problems for system tools, which are expecting to find something else with the same name.

And because those tools could include your system's package manager (like Apt).

> So there is a massive possibility I am simply wrong and pip-installing something globally is a huge risk. I'm just not understanding it.

I assume you're referring to the new protections created by the EXTERNALLY-MANAGED marker file, which will throw up a large boilerplate warning if you try to use pip to install packages in the system environment (even with --user, where they can still cause problems when you run the system tools without sudo).

You should read one or more of:

* the PEP where this protection was introduced (https://peps.python.org/pep-0668/);

* the Python forum discussion explaining the need for the PEP (https://discuss.python.org/t/_/10302);

* my blog post (https://zahlman.github.io/posts/2024/12/24/python-packaging-...) where I describe in a bit more detail (along with explaining a few other common grumblings about how Python packaging works);

* my Q&A on Codidact (https://software.codidact.com/posts/291839/) where I explain more comprehensively;

* the original motivating Stack Overflow Q&A (https://stackoverflow.com/questions/75608323/);

* the Python forum discussion (https://discuss.python.org/t/_/56900) where it was originally noticed that the Stack Overflow Q&A was advising people to circumvent the protection without understanding it, and a coordinated attempt was made to remedy that problem.

Or you can watch Brodie Robertson's video about the implementation of the PEP in Arch: https://www.youtube.com/watch?v=35PQrzG0rG4.
by ben_w | 2025-10-29 21:15:45+00:00
I am 42. I had a Commodore 64 as a kid. From the perspective of my first girlfriend, this made me wildly privileged. My first boyfriend was about a decade older than me, he didn't even have a household phone growing up.

> You stereotype everyone who is middle age and above as barely lucid nursing home seniors.

No, they have not. My dad worked on UK military IFF software solutions and simulations. Still took him years to realise Google (c. 2010) search results had a scroll bar. Mum eventually did get Alzheimers, but was mixing up reality and fiction decades earlier, in the form of New Age healing crystals, ley lines, etc., and as I grew up with that influence I too believed them until practicing Popper-like falsification stripped away each magickal belief.

Me, I've been following AI since before the turn of the millennium, and I still get surprised when I see how fast the tech is improving. I also see plenty of people, even on HN, assert AI will take (paraphrasing) "centuries, if ever" to reach performance thresholds it has now reached.
by TeMPOraL | 2025-10-29 21:15:58+00:00
The key thing isn't that the banks (and governments, and enterprise software vendors, and ...) don't provide an alternative to the app as authentication factor. It's why they don't do this.

It's not about security. It's about them wanting people to use the apps. Forcing everyone to use an app streamlines the vendors' operations, reduces the state space of possible user interactions down to small number of flows they control directly, and also provides them a direct channel (communications or upsell, where applicable) to the user.

This is not a fluke or a conspiracy of small number of influential players. It's an emergent alignment of incentives across pretty much the whole supply side of digital aspect of human civilization (not "just" the market, because it's also happening in political and social spheres).
by connorshinn | 2025-10-29 21:16:34+00:00
Agreed. I think his blog title, "Probably Overthinking It", is appropriate named.

Essentially every assertion in the article is either an oversimification, cherry picking a random niche situation to highlight, or just flat out factually inaccurate.

Let's take this paragraph for example:

"Catching cancer early is beneficial only if (1) the cancers we catch would otherwise cause disease and death, and (2) we have treatments that prevent those outcomes, and (3) these benefits outweigh the costs of additional screening. This table does not show that any of those things is true."

To address these one by one:

1. Obviously cancer causes disease and death. The same graphic he references makes that abundantly clear. Sure, there might be some rare exceptions (elderly patients with slow growing colon cancer for example), but we're talking about the general population.

2. All cancers have treatment options available in some form (could be chemo, radiation, surgical resection, etc), so this assumption doesn't even make sense to include. Let's assume for a second though that treatments might not be available. Even if that were true, there ARE treatments that can help treat cancer symptoms, and but may not affect the tumor directly. Often these are specific to the specific type of cancer.

3. This assertion is dumb - is the author really trying to argue that providing symptomatic or other relief to a cancer patient isn't a sufficient benefit to warrant additional screening?

I could go on, but you get the point. Some people just like arguing for the sake of arguing I guess.
by grogers | 2025-10-29 21:17:00+00:00
You can fill in a noop for sequence number 123 after a timeout. You also need to be able to kill old transactions so that the transaction which was assigned 123 isn't just chilling out (which would block writing the noop).

Another approach which I used in the past was to assign sequence numbers after committing. Basically a separate process periodically scans the set of un-sequenced rows, applies any application defined ordering constraints, and writes in SNs to them. This can be surprisingly fast, like tens of thousands of rows per second. In my case, the ordering constraints were simple, basically that for a given key, increasing versions get increasing SNs. But I think you could have more complex constraints, although it might get tricky with batch boundaries
by toomuchtodo | 2025-10-29 21:17:05+00:00
The ‘profound’ global impact of China’s rise as an electrostate - https://www.ft.com/content/013e8a27-ade5-48ed-8f2e-ffbf70cc5... | https://archive.today/KJrOY - October 10th, 2025

Ember Energy: China Energy Transition Review 2025 - https://ember-energy.org/latest-insights/china-energy-transi... - September 9th, 2025

Ember Energy: China's cleantech exports by technology and destination - https://ember-energy.org/data/china-cleantech-exports-data-e... (updated monthly)
by internetter | 2025-10-29 21:17:06+00:00
Bending Spoons is correctly following the [[Wikipedia:Conflict of interest]] process. They are pointing out information which could be improved and are requesting an independent party confirm they are correct. They disclosed their conflict. All companies are allowed and encouraged to do this. Not many do.

Source: I'm a wikipedia editor unaffiliated with bending spoons.

Edit: I see another complaint about IP editing. I am looking into this.
by eadmund | 2025-10-29 21:17:36+00:00
> I noticed that Whatsapp is even worse than Chrome, it opens HTT PS even if I share HTTP links.

Firefox does this when I type in a URL and the server is down. I absolutely hate this behaviour, because I run a bunch of services inside my network.

If I tell my browser ‘fetch http://site.example,’ I mean for it to connect to site.example on HTTP on port 80 nothing more. If there is a web server run ning which wants to redirect me to https://site.example, awesome, but my browser should never assume I mean anything I did not say.)
by lagniappe | 2025-10-29 21:18:47+00:00
I'd say the majority of the modern non-fork networks don't use proof of work and sha256. I'm on a team building one at the moment and we're using sha3.sum512 and no proof of work for production. Some "blockchains" aren't even blockchains of sequential blocks, they are forest DAGs of just transactions.

I think the author's heart is in the right place and I'm thankful that it's being discussed on HN, as blockchain discussions can be a bit hit or miss here.
by dj_gitmo | 2025-10-29 21:18:48+00:00
> The real news is that it's also slightly happening in other developed countries too, another rhetoric point towards Steven Pinker's concept that as nations get richer they become more environmentally conscious, cause they can afford to care about it.

I'm not sure it's environmentalism. It's efficiency. From the article.

> In richer countries, where farming has become more efficient, deforestation has slowed or even reversed

You simply don't need as many people living in villages, farming marginal land. New England re-forested because the land was never that good for farming, and it made a lot more sense to work in factories.
by antonchekhov | 2025-10-29 21:18:56+00:00
Acceleration by using the x86 AVX-512 extensions is especially compelling. Since ARM64 processors are becoming pervasive in server-side systems, is-there/will-there-be any optimization using the ARM64 NEON vector instructions in current or future Go versions? (The NEON instructions are 128-bit, instead of 512 bits in the AVX-512 set, but may still be useful.)
by StratusBen | 2025-10-29 21:19:00+00:00
Co-Founder and CEO of https://vantage.sh/ here - I've been pretty impressed by the rate that repatriation is happening off of public cloud. It rarely ever came up and in the last year it's been popping up more and more -- and especially just for getting access to GPU workloads.

I thought there would be a greater unbundling to AWS or to cheaper providers but it seems like a good-sized portion of the market is just going back to managing their own hardware.
by NumberCruncher | 2025-10-29 21:19:00+00:00
> Am I the only one who feels like this is obviated by Docker?

This whole discussion has the same vibes like digital photography 15 years ago. Back then some people spent more time on discussing the tech spec their cameras than takin photos. Now some people spend more time on discussing the pros and cons of different Python environment management solutions than building real things.

The last time I had to touch one of my dockerized environments was when Miniconda and Miniforge were merged. I said the agent "fix the dockerfile", and the third attempt worked. Another time, one dependency was updated and I had to switch to Poetry. Once again, I said the agent "refactor the repository to Poetry" and it worked. Maybe because all my Python package versions are frozen and I only update them when they break or when I need the functionality of the new version.

Whenever this topic pops up in real life, I always ask back what was the longest time they managed the same Python service in the cloud. In the most cases, the answer is never. The last time someone said one year. After a while this service was turned into two .py files.

I don't know. Maybe I'm just too far away from FAANG level sorcery. Everything is a hammer if all you have to deal with are nails.
by auraham | 2025-10-29 21:19:04+00:00
Can you elaborate on this? How is npm/cargo/etc better than pip on this regard?

As far as I know, files like requirements.txt, package.json, cargo.toml are intended to be used as a snapshot of the dependencies in your project.

In case you need to update dependency A that also affects dependency B and C, I am not sure how one tool is better than other.
by hatthew | 2025-10-29 21:19:16+00:00
I would call it an illusion because if you pay attention you can clearly see that the color you perceive isn't actually present. You can see white on an RBG computer screen since your eyes simply don't have the resolution to discern the subpixel colors. However, in a dithered image with only black and white, you perceive gray, but you can also tell what the reality is without much effort. Personally, I think that fits the definition of an illusion.
by oblio | 2025-10-29 21:19:21+00:00
The rest of the world handles that through PATH/PATH equivalent.

Either the package manager is invoked with a different PATH (one that contains the desired Node/Java/whatever version as a higher priority item than any other version on the system).

Or the package manager itself has some way to figure that out through its config file.

Or there is a package manager launch tool, just like pyenv or whatever, which does that for you.

In practice it's not that a big of a deal, even for Maven, a tool created 21 years ago. As the average software dev you figure that stuff out a few weeks into using the tool, maybe you get burnt a few times early on for misconfiguring it and then you're on autopilot for the rest of your career.

Wait till you hear about Java's CLASSPATH and the idea of having a SINGLE, UNIFIED package dependency repo on your system, with no need for per-project dependency repos (node_modules), symlinks, or all of that stupidity.

CLASSPATH was introduced by Java in 1996, I think, and popularized for Java dependency management in 2004.
by maxloh | 2025-10-29 21:19:35+00:00
Only for now. Google did push the Web Environment Integrity API, which is basically "Play Integrity API for Chrome," that helps websites check if the OS, browser, or installed extensions are "safe".

Fortunately, they backed off and decided to abandon the proposal after massive backlash. But we don't know when we will see a 2.0 version of that.
by collinmanderson | 2025-10-29 21:20:02+00:00
uv is finally an all-in-one tool that finally takes all of the good ideas from previous projects and combines them together to work well as one (and unbelievably fast).

The fact that it's a binary, not written in python, also simplifies bootstrapping. So you don't need python+dependencies installed in order to install your python+dependencies.
by zahlman | 2025-10-29 21:20:07+00:00
Design-wise, nothing, IMO. But I don't fault people who prefer the uv workflow, either. Chacun a son gout.

Implementation-wise, there's nothing wrong in my view with venv. Or rather, everything is compelled to use virtual environments, including uv, and venv is just a simple tool for doing so manually. Pip, on the other hand, is slow and bulky due to poor architecture, a problem made worse by the expectation (you can work around it, but it requires additional understanding and setup, and isn't a perfect solution) of re-installing it into each virtual environment.

(The standard library venv defaults to such installation; you can disable this, but then you have to have a global pip set up, and you have to direct it to install into the necessary environment. One sneaky way to do this is to install Pipx, and then set up some script wrappers that use Pipx's vendored copy of pip. I describe my techniques for this in https://zahlman.github.io/posts/2025/01/07/python-packaging-....)

Edit: by "design" above I meant the broad strokes of how you use pip, installing single packages with their transitive dependencies etc. There's a lot I would change about the CLI syntax, and other design issues like that.
Show HN: AllPub – Smart Cross-platform publishing tool
by pbopps | 2025-10-29 21:20:44+00:00
Hi HN,

I'm a solo developer who built AllPub (https://allpub.co) to solve my own problem: spending 6+ hours/week manually cross-posting content.

What it does: Connects to your Notion/Dev.to/Hashnode workspace and cross-publishes your content with one click.

Built with: Next.js,Tailwind, Supabase, Clerk, Mailerlite. Used GitHub Copilot heavily for API integrations and boilerplate.

Hardest technical challenge: Coordinating rate limits and OAuth refresh cycles across 3+ platforms simultaneously. Each platform handles authentication differently, so graceful degradation for partial failures was complex.

Currently awaiting for more feedback...

This is my first real SaaS product. Happy to answer questions about the architecture or the build process.

Try it: https://allpub.co
by wtallis | 2025-10-29 21:20:44+00:00
Yes, you still have the option of manually activating a venv, and that makes sense if the amortized cost of that is lower than several instances of typing `uv run `. Though sometimes when working in one project with its venv activated, I end up needing to run a tool from another project with a separate vent, so uv still ends up being useful.
by Hansenq | 2025-10-29 21:21:26+00:00
In any negotiation, you need to understand what leverage either side has. In this case, CA could block the conversion, and OpenAI could leave California. Both are possible but extremely unlikely outcomes! So the whole point is to take these unlikely outcomes to the table, negotiate in good faith, and come out with an agreement.

So California needs to believe that OpenAI will stay in California just as much as OpenAI needs to believe that CA won't block the conversion (or impose other onerous regulations around AI). So yes, it's possible to speculate about whether or not people are sincere in their motivations, but when you need to make a deal, there needs to be a measure of good faith and trust on both sides in order to make something happen.

And in this case, both sides are incentivized to make the deal. OpenAI wants to be a PBC in order to access more capital, and California wants OpenAI to be a PBC so that it can IPO so that all employees (all of whom are likely CA residents), will sell stock, which can then be taxed as CA income.
by yieldcrv | 2025-10-29 21:21:36+00:00
Nobody is “setting the price”, people trade. supply and demand. on many venues and contracts. the oracles just read from those (and sometimes the venues and contracts read from the oracles)

when tethers and trading at $1.04 or anything higher than $1.00

arbitrageurs wire money to their account at the Tether organization (bitfinex, otc services) to instruct the organization to mint Tether

the organization does everything necessary: takes the deposited money and buys US treasuries, mints the equivalent amount of Tethers and gives those tethers to the customer

The customer deposited $1 and received 1 tether. Some exchange venues have people rushing to buy 1 Tether for $1.04

Customer sells their tether to them and has some other form of crypto that they can try to get back into dollars and do it all over again, until flooding the market with Tether supply back to $1.00

this happens all day every day for a decade, more pronounced during panic selling periods
by iAMkenough | 2025-10-29 21:22:10+00:00
We're on year five of one of the two parties telling voters to not trust early voting. Their choice is because of the Fear, Uncertainty, and Doubt created by the propaganda they are fed.

Here's the President of the United States on Sunday: https://truthsocial.com/@realDonaldTrump/posts/1154418712892...

"No mail-in or 'Early' Voting, Yes to Voter ID! Watch how totally dishonest the California Prop Vote is! Millions of Ballots being 'shipped.' GET SMART REPUBLICANS, BEFORE IT IS TOO LATE!!!"
by acomjean | 2025-10-29 21:22:24+00:00
Meetup.. the promise of meetup was the organizers pay a fee so the members don’t have too.

My partner organized one a decade ago.

I’m still a member of a couple but now they’re really going after group members with ads and upsells. It still works but has become kind of icky.

Bending spoons, the name just sends up red flags as parlor trickery.