HN user

groodt

1,200 karma

[ my public key: https://keybase.io/groodt; my proof: https://keybase.io/groodt/sigs/hJRjjV6YOixT_kHJoqgs80lQm1kowvRBa8VVoitVczA ]

Posts50
Comments45
View on HN
peps.python.org 1y ago

PEP 739 A static description file for Python build details

groodt
2pts0
www.canva.dev 2y ago

Vendor Security Testing at Canva

groodt
1pts0
pythonwheels.com 2y ago

99% of top Python packages are now wheels

groodt
36pts74
ec.europa.eu 3y ago

The EU Commission Adopts an Adequacy Decision for EU-US Data Flows

groodt
2pts0
peps.python.org 3y ago

Python 3.12 will have per interpreter GIL – PEP 684 Accepted

groodt
4pts0
discuss.python.org 3y ago

Python 3.12 will have a Per-Interpreter GIL

groodt
9pts2
canvatechblog.com 3y ago

Using a CLIP-inspired model to suggest keywords in multiple languages

groodt
1pts0
pypackaging-native.github.io 3y ago

Underappreciated challenges with Python packaging

groodt
120pts71
canvatechblog.com 3y ago

Reverse Image Search Using Perceptual Hashes and DynamoDB

groodt
2pts0
pythonwheels.com 4y ago

98% of top Python packages on PyPI distribute wheels

groodt
2pts1
twitter.com 4y ago

LXR: Low-latency, high-throughput GC for JVM

groodt
4pts1
pythonwheels.com 4y ago

95% of top Python packages on PyPI distribute wheels

groodt
9pts2
www.visualsource.net 5y ago

17 Years of NixOS contributions visualized

groodt
1pts0
pip.pypa.io 5y ago

Pip has dropped support for Python 2

groodt
774pts673
pyfound.blogspot.com 5y ago

Python Pip 20.3 Released with new resolver

groodt
224pts223
streamsql.io 5y ago

Microservices Suck for Machine Learning (and what we did about it)

groodt
3pts0
docs.aws.amazon.com 5y ago

S3 Object Ownership Simplified

groodt
4pts0
github.com 5y ago

Unified interface for Workflow engines. Argo currently supported

groodt
1pts0
docs.aws.amazon.com 6y ago

Inferentia support for ML inference on AWS EKS

groodt
2pts0
pythonwheels.com 6y ago

Python Wheels Crosses 90%

groodt
223pts218
thomazleite.com 6y ago

Reproducible Python package management with Nix

groodt
2pts0
aws.amazon.com 6y ago

Managed Kubernetes Node Groups for EKS

groodt
1pts3
docs.aws.amazon.com 6y ago

Hudi from Uber Now Available on AWS EMR 5.28.0

groodt
1pts0
mode.com 6y ago

Mode Helix: Interactive Data Analysis

groodt
2pts0
docs.delta.io 6y ago

DML on large datasets – Delta Lake 0.3.0 released

groodt
2pts0
github.com 7y ago

Delta Lake 0.2.0 Released

groodt
3pts0
docs.aws.amazon.com 7y ago

AWS EMR 5.24.0 released. Spark 2.4.2 and MXNet 1.4.0 updates

groodt
1pts1
news.ycombinator.com 7y ago

Ask HN: Anybody Using Snowplow Analytics at Scale?

groodt
4pts3
lucene.apache.org 7y ago

Apache Solr 7.6.0 released

groodt
1pts0
aws.amazon.com 7y ago

Amazon RDS now supports MySQL 8.0

groodt
3pts1

The article doesn’t provide any alternatives?

I think there are indeed many challenges when evaluating Compound AI Systems (http://bair.berkeley.edu/blog/2024/02/18/compound-ai-systems...)

But evals in complex systems are the best we have at the moment. It’s a “best-practice” just like all the forms of testing in the “test pyramid” (https://martinfowler.com/articles/practical-test-pyramid.htm...)

Nothing is a silver bullet. Just hard won, ideally automated, integrated quality and verification checks, built deep into the system and SDLC.

+1

Bazel and monorepo are a bit exotic to most enterprise Java devs, but now that I've experienced it, I'll never go back to Gradle or Maven or sbt.

Python packaging gets a lot of criticism. It's a meme. The thing is, it's actually improved dramatically over the years and continues to improve.

The problems it solves are very complex if one looks a little below the surface. It is solving different problems to the ecosystems that it's often compared to: golang, rust, java, js.

This is true.

However if the transitive-closure in the dependencies contains an sdist package anywhere in the tree, written in a way that wasn't designed to be imported on all platforms (this is rare, but does happen), then it isn't possible to resolve cross platform.

The prevalence of wheels does alleviate this to some extent. I think it is one of the early design decisions that pip can only install/resolve for the current platform and this will be very difficult to unwind. There are movements slowly in a direction that may one day make it possible to statically resolve python packages and remove dynamic dependency metadata or builds happening during dependency resolution.

Data Platform Group lead at Canva here.

There are many open and commercial options for hyperparameter optimization.

We didn't select Argo for hyperparameter optimization. The situation is that because we already used Argo for our ML training and data processing jobs, we wanted to see if it could be extended for hyperparameter optimization. It actually can!

As mentioned briefly in the article, we try to use tools with minimal overlap. It's not always possible of course and sometimes new tools are necessary.

Data Platform Group lead at Canva here.

Yes, YAML does seem to be the "Cloud Native" tax. For all but the simplest of Workflows, it is necessary to use a templating language or one of the Argo SDKs.

We use jsonnet for building and manipulating YAML at the moment and are reasonably happy with it.

This is a big deal. Congratulations to all involved.

In Software, complexity naturally increases over time and dependencies and interactions between components become impossible to reason about. Eventually this complexity causes the Software to collapse under its own weight.

Truly reproducible builds (such as NixOS and Nixpkgs) provides us with islands of "determinism" which can be taken as true invariants. This enables us to build more Systems and Software on top of deterministic foundations that can be reproduced by others.

This reproducibility also enables powerful things like decentralized / distributed trust. Different third-parties can build the same software and compare the results. If they differ, it could indicate one of the sources has been compromised. See Trustix https://github.com/tweag/trustix

This is very clever. I wonder if it could be adopted for Python C extensions (where possible) to make it easier to distribute cross-platform binary distributions. Of course it wouldn’t be suitable for gui toolkits, but I imagine that the majority of Python C-extensions could be handled.

Huge kudos to pradyunsg and the rest of the team.

In a world where we focus on the shiny new things, it is so easy to ignore the legacy systems upon which they are built.

This will be the end of a 7+ year GitHub issue: https://github.com/pypa/pip/issues/988

Python is an old language (older than Java) and its packaging systems are often the butt of many jokes. Its fantastic to see investments and improvements in this area. It isnt easy with Python, given that the build process is often executing code "setup.py" so resolving dependencies statically isn't possible without running Python.

Apologies, I think the question was edited/clarified after my comment.

Gems are more similar to Python sdist’s. Native code is compiled on the installing host.

There is no specification like manylinux1,2010,2014 like there are for Python Wheels.

In this sense, Python Wheels can be considered more sophisticated than Ruby Gems.