frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Inheritance over Composition, Sometimes

https://death.andgravity.com/over-composition
1•BerislavLopac•1m ago•0 comments

Show HN: Featurevisor v2.0 – declarative feature flags management with Git

https://featurevisor.com/?v2
1•fahad19•1m ago•0 comments

Crowdfunding Success – Was it worth it?

https://atomic14.substack.com/p/crowdfunding-success-was-it-worth
1•iamflimflam1•3m ago•0 comments

Show HN: It's Like FIFA for Developers 1vs1 Code Battle

https://battlegpt.website
1•roozka10•5m ago•0 comments

Why everyone is probably wrong about AI

https://greyenlightenment.com/2025/07/08/dwarkesh-patel-on-agi-separating-ai-hype-from-reality/
1•paulpauper•6m ago•0 comments

Brave Browser Blocks Windows Recall

https://www.neowin.net/news/brave-browser-blocks-windows-feature-that-takes-screenshots-of-everything-you-do-on-your-pc/
1•bundie•7m ago•0 comments

Taiwan is creating an offshore wind industry to fuel its semiconductor factories

https://restofworld.org/2025/taiwan-offshore-wind-farms-chip-factory-jobs/
1•PaulHoule•8m ago•0 comments

Ask HN: How have you optimized your company/ work?

2•Xx_crazy420_xX•9m ago•0 comments

Show HN: Like Lusha/Apollo, but with 250M deliverable emails

https://hivepoint.io/
1•Simonekis•10m ago•0 comments

Lost in the Wilderness: Ansel Adams in the 1960s

https://ucrarts.ucr.edu/exhibitions/lost-in-the-wilderness-ansel-adams-in-the-1960s/
1•lapetitejort•10m ago•1 comments

Use AI to Create Professionally Bound Coloring Books

https://coloring.app
1•presson•11m ago•1 comments

Integrate Email Notifications with RustMailer: A Must-Have for Developers

https://www.indiehackers.com/post/integrate-email-notifications-with-rustmailer-a-must-have-for-developers-MVHtzOfA3nGgtyoBewao
2•rustmailer•12m ago•0 comments

Conspiracy theorists don't realize they're on the fringe

https://arstechnica.com/science/2025/07/conspiracy-theorists-think-their-views-are-mainstream/
3•nabla9•12m ago•0 comments

Late Ozzy Osbourne's Short, Sweet Stint in Video Games

https://kotaku.com/ozzy-osbourne-death-guitar-hero-brutal-legend-actor-1851786753
1•Bluestein•14m ago•0 comments

PMs Were Vibe Coders All Along

https://justinpaulson.com/articles/pms-were-vibe-coders-all-along
2•justinpaulson•17m ago•0 comments

Top questions every recruiter is asking in 2025: Answered with AI sourcing

https://www.sourcegeek.com/en/news/top-15-questions-every-recruiter-is-asking-in-2025-answered-with-smart-ai-sourcing
1•nielsberkhout•18m ago•0 comments

NonRAID – fork of unRAID array kernel module

https://github.com/qvr/nonraid
5•qvr•19m ago•0 comments

Zetamax – Zetamac clone with progress tracking and modern UI

https://www.zetamax.xyz/
1•rahimnathwani•21m ago•0 comments

First Users

1•onetimeshowapp•21m ago•2 comments

Building a fuzzing testing framework with Locust and Docker

https://lucas-montes.com/blog/python-performance/create-deterministic-simulation-testing-framework/
1•lluc23•21m ago•1 comments

Interview with Senior DevOps engineer 2025 [video]

https://www.youtube.com/watch?v=rXPpkzdS-q4
1•jnalley•21m ago•0 comments

Show HN: Zero-back-end process mining tool running Python in WASM

https://enthoosa.com/constraint-finder/
1•Norcim133•25m ago•0 comments

Fixed point thm in metric spaces and its application to the Collatz conjecture

https://arxiv.org/abs/2502.20642
1•fabrizio_italia•28m ago•0 comments

Unsafe and Unpredictable: My Volvo EX90 Experience

https://www.myvolvoex90.com/
56•prova_modena•29m ago•21 comments

Building Fast UPDATEs for ClickHouse

https://clickhouse.com/blog/updates-in-clickhouse-1-purpose-built-engines
1•saisrirampur•29m ago•0 comments

"Zero Trust Is Dead": Tailscale's Survey on Secure Networks

https://tailscale.com/blog/zero-trust-report-2025-secure-networks-survey
1•OrderlyTiamat•31m ago•0 comments

Raku: First Programming Language?

https://wayland.github.io/blog/raku/ReachingOut/Raku-First-Language.xml
1•TheWiggles•33m ago•0 comments

Disconnecting phone from internet creates mood boost on par with antidepressants

https://www.npr.org/2025/02/24/nx-s1-5304417/smartphone-break-digital-detox-screen-addiction
4•JumpCrisscross•35m ago•0 comments

Space-Based Missile Interceptors for Golden Dome Being Tested by Northrop

https://www.twz.com/space/space-based-missile-interceptors-for-golden-dome-being-tested-by-northrop
3•ironyman•36m ago•1 comments

Scientists Are Planning for Life After Finding Aliens

https://www.universetoday.com/articles/scientists-are-planning-for-life-after-finding-aliens
3•bookofjoe•37m ago•0 comments
Open in hackernews

Man Group – Improving Python: How we made pip install twice as fast

https://www.man.com/technology/improving-python
10•arcticdb•1d ago

Comments

mathisd•1d ago
Why bother now that there is newer package manager such as uv which still have a strong lead in performance ?
zahlman•22h ago
(for fellow JavaScript haters: https://archive.is/Hl4yJ; but this will show collapsed accordions with important content that of course don't expand. I caved and visited the original page — but seriously, people, the <details> tag is not deep magic.)

TFA documents work done for and incorporated into Pip about a year ago.

Improvements like this are still worth making because, among other things, tons of people still use Pip and are not even going to look at changing. They are, I can only assume, already running massive CI jobs that dynamically grab the latest version of Pip repeatedly and stuff them into containers, in ways that defeat Pip's own caching, and forcibly check the Internet every time for new versions. Because that's the easiest, laziest thing to write in many cases. This is the only plausible explanation I have for Pip being downloaded an average of 12 million times per day (https://pypistats.org/packages/pip).

They're also worth making exactly because Pip still has a very long way to go in terms of performance improvement, and because experiments like this show that the problem is very much with Pip rather than with Python. Tons of people hyping Uv assume that it must be "rocket emoji, blazing fast, sparkle emoji" because it's written in Rust. Its performance is not in question; but the lion's share of the improvement, in my analysis, is due to other factors.

Documenting past performance gains helps inform the search for future improvements. They aren't going to start over (although I am: https://github.com/zahlman/paper) so changes need to be incremental, and constantly incorporated into the existing terrible design.

Showing off unexpected big-O issues is also enlightening. FTA:

> This was the code to sort installed packages just before the final print.

> There was a quadratic performance bug lurking in that code. The function `env.get_distribution(item)` to fetch the package version that was just installed was not constant time, it looped over all installed packages to find the requested package.

The user would not expect an installation of hundreds of packages to spend a significant amount of time in preparing to state which packages were installed. But Pip has been around since 2008 (https://pypi.org/project/pip/#history) and Ian Bicking may never have imagined environments with hundreds of installed packages, never mind installing hundreds at a time.

Finally, documentation like this helps highlight things that have improved in the Python packaging ecosystem, even outside of Pip. In particular:

> Investigation revealed the download is done during the dependency resolution. pip can only discover dependencies after it has downloaded a package, then it can download more packages and discover more dependencies, and repeat. The download and the dependency resolution are fully intertwined.

This is mostly no longer true. While of course the dependency metadata must be downloaded and cannot appear by magic, it is now available separately from the package artifact in a large fraction of cases. Specifically, there is a standard for package indices to provide that information separately (https://peps.python.org/pep-0658/), and per my discussion with Pip maintainers, PyPI does so for wheels. (Source distributions — called sdists — are still permitted to omit PKG-INFO, and dependency specifications in an sdist can still be dynamic since the system for conditional platform-dependent dependencies is apparently not adequate for everyone. But in principle, some projects could have that metadata supplied for their sdists, and nowadays it's relatively uncommon to be forced to install from source anyway.)