frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Macro Gaussian Splats

https://danybittel.ch/macro.html
128•danybittel•3h ago•16 comments

4x faster LLM inference (Flash Attention guy's company)

https://www.together.ai/blog/adaptive-learning-speculator-system-atlas
85•alecco•5h ago•22 comments

Why it took 4 years to get a lock files specification

https://snarky.ca/why-it-took-4-years-to-get-a-lock-files-specification/
60•birdculture•4h ago•37 comments

Loko Scheme: bare metal optimizing Scheme compiler

https://scheme.fail/
35•dTal•5d ago•2 comments

Nostr and ATProto (2024)

https://shreyanjain.net/2024/07/05/nostr-and-atproto.html
31•sph•4h ago•4 comments

Meta Superintelligence's surprising first paper

https://paddedinputs.substack.com/p/meta-superintelligences-surprising
331•skadamat•14h ago•178 comments

Blood test detecting Long Covid in kids with 94% accuracy microclots

https://www.researchsquare.com/article/rs-7483367/v1
83•thenerdhead•2h ago•56 comments

The Flummoxagon

https://n-e-r-v-o-u-s.com/blog/?p=9827
62•robinhouston•4d ago•10 comments

C++ Reflection and Qt MOC

https://wiki.qt.io/C%2B%2B_reflection_(P2996)_and_moc
39•coffeeaddict1•3d ago•7 comments

Pipelining in psql (PostgreSQL 18)

https://postgresql.verite.pro/blog/2025/10/01/psql-pipeline.html
119•tanelpoder•9h ago•20 comments

Django: One ORM to rule all databases

https://www.paulox.net/2025/10/06/django-orm-comparison/
20•pauloxnet•6d ago•12 comments

Extreme weather caused more than $100B in damage by June

https://www.livescience.com/planet-earth/climate-change/extreme-weather-caused-more-than-usd100-b...
5•geox•23m ago•0 comments

Show HN: I made an esoteric programming language that's read like a spellbook

https://github.com/sirbread/spellscript
58•sirbread•8h ago•13 comments

I/O Multiplexing (select vs. poll vs. epoll/kqueue)

https://nima101.github.io/io_multiplexing
76•pykello•3d ago•23 comments

Ask HN: Abandoned/dead projects you think died before their time and why?

188•ofalkaed•15h ago•535 comments

Anthropic's Prompt Engineering Tutorial

https://github.com/anthropics/prompt-eng-interactive-tutorial
235•cjbarber•19h ago•46 comments

Vancouver Stock Exchange: Scam capital of the world (1989) [pdf]

https://scamcouver.wordpress.com/wp-content/uploads/2012/04/scam-capital.pdf
111•thomassmith65•14h ago•48 comments

Konrad Zuse's Helix Tower [pdf]

https://www.iaarc.org/publications/fulltext/The_helix-tower_by_konrad_zuse_automated_con-_and_dec...
6•xg15•4d ago•2 comments

Coral Protocol: Open infrastructure connecting the internet of agents

https://arxiv.org/abs/2505.00749
35•joj333•10h ago•7 comments

A Guide for WireGuard VPN Setup with Pi-Hole Adblock and Unbound DNS

https://psyonik.tech/posts/a-guide-for-wireguard-vpn-setup-with-pi-hole-adblock-and-unbound-dns/
112•pSYoniK•18h ago•20 comments

Show HN: A Lisp Interpreter for Shell Scripting

https://github.com/gue-ni/redstart
72•quintussss•3d ago•17 comments

CamoLeak: Critical GitHub Copilot Vulnerability Leaks Private Source Code

https://www.legitsecurity.com/blog/camoleak-critical-github-copilot-vulnerability-leaks-private-s...
74•greyadept•15h ago•14 comments

Show HN: Rift – A tiling window manager for macOS

https://github.com/acsandmann/rift
164•atticus_•13h ago•86 comments

Paper2Video: Automatic Video Generation from Scientific Papers

https://arxiv.org/abs/2510.05096
64•jinqueeny•14h ago•14 comments

The World's 2.75B Buildings

https://tech.marksblogg.com/building-footprints-gba.html
88•marklit•4d ago•42 comments

Why Wikipedia cannot claim the Earth is not flat

https://en.wikipedia.org/wiki/Wikipedia:Why_Wikipedia_cannot_claim_the_Earth_is_not_flat
93•duncanjbrown•3h ago•51 comments

A New Algorithm Makes It Faster to Find the Shortest Paths

https://www.wired.com/story/new-method-is-the-fastest-way-to-find-the-best-routes/
17•quapster•2h ago•7 comments

Microsoft only lets you opt out of AI photo scanning 3x a year

https://hardware.slashdot.org/story/25/10/11/0238213/microsofts-onedrive-begins-testing-face-reco...
686•dmitrygr•19h ago•267 comments

Testing two 18 TB white label SATA hard drives from datablocks.dev

https://ounapuu.ee/posts/2025/10/06/datablocks-white-label-drives/
194•thomasjb•6d ago•119 comments

LineageOS 23

https://lineageos.org/Changelog-30/
273•cdesai•14h ago•107 comments
Open in hackernews

Why it took 4 years to get a lock files specification

https://snarky.ca/why-it-took-4-years-to-get-a-lock-files-specification/
60•birdculture•4h ago

Comments

flowerthoughts•2h ago
> A lock file is meant to record all the dependencies your code needs to work along with how to install those dependencies.

It's about dependency locking in Python packaging.

klustregrif•2h ago
Overall it feels like UV is the best thing to happen to python packaging in two decades, by circumventing the endless non productive discussions on peps and instead just building something that works and is fast. In Rust naturally.
webology•48m ago
UV is great but also builds on existing PEPs. While they have the ability experiment (which is great), they also benefit from those "endless non productive discussions on peps" as you called it.

I think UV proves that dedicated funding can make a huge impact on a project and benefit for the community. They are a doing a damn, good job.

tormeh•43s ago
They mostly took inspiration from other languages for UV. Cargo (Rust) was a huge inspiration, but they got stuff from Ruby as well, I believe. There was an episode on "the changelog" about it. Don't remember them saying anything about PEPs, although that might just be me not having listened to the entire thing. However, the Charlie Marsh was extremely insistent on the advantages of being a polyglot and hiring people with diverse programming experiences. So I think it's quite safe to assume that played a bigger role than just PEPs.
smallmancontrov•48s ago
Yet more proof that "the best way to do anything in python is to not do it in python."
charcircuit•2h ago
The post didn't answer why it took over 4 years.

Why couldn't everyone be flied to the same place and have it all figured out in a week instead of having the process drag on for years?

quotemstr•1h ago
An endless multiplication of veto points in a consensus culture is a failure mode. Funny thing is people embedded in such a culture will see its slowness as a feature and sneer at the world as it leaves them behind.

Python was better with a BDFL.

The best thing that could happen to Python right now would be for someone to fork it. Maybe just have Astral run away with the whole language. This lock file format should have taken a weekend, not four damn years.

vinnymac•37m ago
A governance model where “time-based decision thresholds” directly damaged veto power as time passes could be used to harness this sort of BDFL-only power in a consensus culture.
pjmlp•2h ago
No worries, it is taking longer to be able to rely on C++ modules for portable code, having Valhala available on JVM, Android supporting anything beyond Java 17, or a JIT in CPython, some things take their time to finally become widespread, for various kinds of reasons.
eqvinox•1h ago
I was hoping part of this delay was due to people arguing lock files are poor engineering to begin with, but alas, no mention of that. I guess we've just given up on any kind of package version flexibility.
lexicality•1h ago
> I guess we've just given up on any kind of package version flexibility.

Presumably because decades of experience has demonstrated that humans are extremely bad at maintaining compatibility between releases and dealing with fallout from badly specified package versions is probably second only to NULL in terms of engineering time wasted?

Or possibly it's just because a lot of the Python ecosystem doesn't even try and follow semver and you have no guarantee that any two versions are compatible with each other without checking the changelog and sacrificing a small chicken...

BugsJustFindMe•1h ago
> Or possibly it's just because a lot of the Python ecosystem doesn't even try and follow semver

Even if they try, semver can only ever be a suggestion of the possibility of compatibility at best because people are not oracles and they misjudge the effects of changes all the time.

quotemstr•1h ago
One opinion that gets me flamed all the things is this: I hate semver. Just use linear version numbers. Incompatibility? That's a new package with a new name.
eqvinox•1h ago
At least that'll allow you to install both in parallel. Which is an absolutely essential requirement IMHO, and there not being a solution for this for semver'd Python packages is a root cause of all this I'd say.
9dev•1h ago
In ecosystems with hundreds of dependencies, that requires you to review the changelog and source code of all of them all the time, especially if you want to avoid security issues fixed in more recent versions. I’d rather have a clear indication of something I need to take care of (a new major version), something new I might benefit from (a new minor version), or something that improved the library in some way (a new patch version). That alone slices required effort on my part down considerably.
quotemstr•1h ago
What do you mean, "have to take care of something"? You don't have to upgrade to a new major version. The problem with major versions is that they make it too easy to break other people are cause work for them.
Uvix•57m ago
I have to upgrade if I want security fixes. Even if they patch old majors for a time, that’s not perpetual.
9dev•53m ago
Software is churn. Sticking to outdated versions for too long, the rest of the world evolves without you, until other things will start breaking. For example because a new dependency A you need depends on another package B you already have, but A needs a newer version of B than you use. At that point, you have a huge undertaking ahead of you that blocks productivity and comes with a lot of risk of inadvertently breaking something.

Whether someone else or I am the problem doesn’t matter to my customers at the end of the day, if I’m unable to ship a feature I’m at fault.

withinboredom•25m ago
Sometimes you do have to upgrade. We were using a package that was two years old and the Google APIs it called were renamed one day. I’m sure there was an announcement or something to give us warning, but for whatever reason, we didn’t get them. So that day, everything came crashing to a halt. We spent the afternoon upgrading and then we were done.

To say that you don’t have to upgrade is true, but it always comes at a price.

c0balt•1h ago
> That's a new package with a new name.

Well, yeah, it's reasonable people flame you there. What is the difference between,

- zlib-1 v 23

- zlib 1.2.3

except that automatic updates and correlation are harder for the first approach. It also will likely make typosquatting so much more fun and require namespacing at the very least (to avoid someone publishing, e. G., zlib-3 when official projects only cover zlib-{1,2}.

quotemstr•1h ago
I can already typosquat a "zlib2", so what's the difference?
9dev•1h ago
The PHP ecosystem is almost universally semver and has been going strong for years now, without any major accidental breaking change related outages.

A little discipline and commitment to backwards compatibility and it isn’t too hard, really?

withinboredom•23m ago
PHP compatibility and its commitment (across the ecosystem) to backwards compatibility is actually pretty cool. If there is one thing PHP does right, it’s this.
eqvinox•1h ago
That's why other spaces have machine tools for this. There seems to be an overall drift in Python to use more type annotations anyway; making a tool that compares 2 versions of a package isn't rocket science (maybe it already exists?)

Literally everyone posting here is using a system built on compatible interfaces. Stable DLLs on Windows, dylib framework versions on OSX, ELF SOversioning on Linux.

It's clearly not impossible, just a question of priorities and effort, and that makes it a policy decision to do it or not. And I'll lean towards we've been shifting that policy too far in the wrong direction.

lexicality•59m ago
The only reason DLLs are stable on Windows is that every application now ships all the DLLs they need to avoid the DLL Hell caused by this exact thing not working.

I look forward to you demonstrating your tool that can check if two python packages are compatible with each other, maybe you can solve the halting problem when you're done with that?

eqvinox•23m ago
I'm not a Windows developer, you'll have to excuse my ignorance on that. Pretty sure you're not shipping user32.dll with your applications though.

Also, I didn't claim any tool would give a perfect answer on compatibility. They don't for ELF libraries either, they just catch most problems, especially accidental ones. The goal is 99.9%, not 100%. Just being unable to solve a problem perfectly doesn't mean you should give up without trying.

noitpmeder•29m ago
I think it'd be near impossible to guarantee API compatibility, regardless of type hinting. E.g. if a function returns a list, in a new version I can add/remove items from that list such that it's a breaking change to users, without any API compatibility issues
Diggsey•56m ago
That would be because package version flexibility is an entirely orthogonal concept to lock files, and to conflate them shows a lack of understanding.

pyproject.toml describes the supported dependency versions. Those dependencies are then resolved to some specific versions, and the output of that resolution is the lock file. This allows someone else to install the same dependencies in a reproducible way. It doesn't prevent someone resolving pyproject.toml to a different set of dependency versions.

If you are building a library, downstream users of your library won't use your lockfile. Lockfiles can still be useful for a library: one can use multiple lockfiles to try to validate its dependency specifications. For example you might generate a lockfile using minimum-supported-versions of all dependencies and then run your test suite against that, in addition to running the test suite against the default set of resolved dependencies.

Uvix•55m ago
Lock files are about what version the application needs installed, not what a library depends on. They don’t prevent package version flexibility.
JimDabell•1h ago
Unfortunately:

> Some of uv's functionality cannot be expressed in the pylock.toml format; as such, uv will continue to use the uv.lock format within the project interface.

> However, uv supports pylock.toml as an export target and in the uv pip CLI.

— https://docs.astral.sh/uv/concepts/projects/layout/#the-lock...

miiiiiike•47m ago
I've exited countless Python/Django threads discussing future plans.

Year -1: The community has a problem.

Year 0: Proposal to fix the problem.

Year 1: A small but vocal subset of the Python/Django community pops up in every thread: "It's not actually a problem." or "It's not an issue that my project would ever encounter so limited resources shouldn't be expended on it."

Year 2: People are choosing other solutions because Python/Django isn't addressing the problem.

Year 3: We'll form a committee. The committee doesn't think it's a problem.

Year 4: The community has a problem. Fine. Why doesn't the community write a Python Enhancement Proposal/Django Enhancement Proposal (PEP/DEP)?

Years 5-10: PEP/DEP ignored.

Year 11: The community has a problem. PEP/DEP implemented and released.

Year 12-22: Major packages refuse to support the change.

Year 23: Last version not supporting the change deprecated.

Year 23+1 day: Fork of last deprecated version Python not supporting change created and released.

I have 15 years of code in Python still running but spend a little more than 50% of my time in other stacks. I don't notice as many people arguing against basic features, like a REST API package in Django, in non-Python/Django communities. The precursor to a Django REST API package, content negotiation, has been a draft DEP since early 2014 (https://github.com/django/deps/blob/main/draft/content-negot...). That's going on 12 years of stalled progress for a feature that needed to be released in 2010.

With Python/Django you learn not to wait because nothing is going to change.

And yes, Python/Django are open source. And yes agin, I donate over $1,000/year to support F/OSS projects that I depend on.

noitpmeder•32m ago
What are you talking about. This seems like a rant into the void. All of what you just explained can and do happen with other languages, nothing here is unique of particularly bad for python and or Django.

If you and some subset of users truly thinks this is a massive and glaring issue in Django, then go either implement it yourself or donate funds explicitly for said implementation. Just because a third party package doesn't bend over backwards and implement a feature it's been fine without doesn't mean the ecosystem and or language is to blame.

miiiiiike•19m ago
It's not a rant. It's a man with several burned fingers and a drifter beard muttering warnings from a corner.

How was the Python 2 to Python 3 migration for you? How many Python libraries are you responsible for packaging? Has that been fun for the past 15-20 years? How heavily do you rely on async?

Almost a decade for Django+major libraries to support Python 3. More than a decade for Django async support. I'm not ungrateful. And, I wish that I believed that throwing money at the problem would solve it.

Python has a large and diverse user base. That brings unique challenges that I don't see in other stacks.

truelson•20m ago
So… what is a good example of a consensus driven culture on something popular with a lot of opinions, some legacy use cases, that can get these things done quickly?

This is a systems problem. Successful examples wanted.

miiiiiike•6m ago
Angular turned things around quickly. Corporate sure, but if you know anything about how Angular is used within Google that was a massive job.
gurjeet•5m ago
Postgres community is one example to look at, that I can think of. Linux may be other, but I'm not intimately aware of its inner workings.

https://www.postgresql.org/community/ is a good start to get a feel of all things related to Postgres community.

1aH27JHq•9m ago
Because Python values talkers, directors, councils, foundations and ruthless people who rise on a fake social justice platform and eliminate opponents like the author of this blog post.

People who deliver will not contribute to Python.