HN user

alexbecker

1,107 karma

https://alexcbecker.net

Posts26
Comments339
View on HN
alexcbecker.net 3mo ago

Claude Changes My Code

alexbecker
2pts0
alexcbecker.net 1y ago

The Hard Problem of Prompt Injection

alexbecker
4pts0
kata.chat 1y ago

Show HN: Practice Languages with AI Characters

alexbecker
1pts0
kata.chat 1y ago

Show HN: Kata – An AI app for practicing languages

alexbecker
1pts0
pydist.com 6y ago

(Almost) Never Delete a Release

alexbecker
3pts0
pydist.com 6y ago

Over 10k releases have been deleted from PyPI

alexbecker
2pts0
news.ycombinator.com 6y ago

Ask HN: Alternatives to Atlassian Confluence?

alexbecker
16pts17
news.ycombinator.com 6y ago

Ask HN: What collaboration software does your team use?

alexbecker
5pts1
alexcbecker.net 6y ago

You Are Probably Misusing Opacity

alexbecker
2pts0
pydist.com 7y ago

Show HN: PyDist – Private Python Package Hosting

alexbecker
25pts18
pydist.com 7y ago

Show HN: Own Private PyPI

alexbecker
4pts1
pydist.com 7y ago

Distributions vs. Releases: Why Python Packaging Is Hard

alexbecker
4pts0
news.ycombinator.com 7y ago

Ask HN: What are your pain points with Python?

alexbecker
6pts3
dustingram.com 7y ago

PyPI as a Service

alexbecker
2pts0
pydist.com 7y ago

Show HN: NPM for Python

alexbecker
3pts0
pydist.com 7y ago

Scaling Your Team with Python Packages

alexbecker
3pts0
www.zdnet.com 7y ago

MySpace lost 13 years worth of user data after botched server migration

alexbecker
1pts0
pydist.com 7y ago

Python's Except Quirk

alexbecker
3pts0
pydist.com 7y ago

Python Packages Since 2005

alexbecker
2pts0
pydist.com 7y ago

Python Ecosystem Evolution Since 2005

alexbecker
2pts0
pydist.com 7y ago

How “Pip Install” Works

alexbecker
2pts0
alexcbecker.net 8y ago

Show HN: Learn how mouse events in browsers work

alexbecker
4pts0
www.nytimes.com 9y ago

Turkey Purges 4,000 More Officials, and Blocks Wikipedia

alexbecker
86pts28
bookdmv.org 10y ago

Show HN: Find a convenient California DMV appointment

alexbecker
7pts5
defla.me 11y ago

Deflame: Fight flame wars on WordPress blogs

alexbecker
2pts0
play.google.com 11y ago

Show HN: SHA-PASS, a simple secure app for password management

alexbecker
4pts2

After reading Judith Butler for a class in college, reading "Professor of Parody" was such a breath of fresh air. Nussbaum is a clear thinker who doesn't take BS kindly.

The argument as I understand it is that group 2 mostly does not care about being protected from their government or even agrees with the government's actions, and they get to benefit from continued access to Apple's superior products. I'm not endorsing this argument, but it's not prima facie crazy.

I run a similar, maybe even more boring stack for my less-than-one-person company [PyDist](https://pydist.com):

- PostgreSQL database

- Nginx proxy in front of Django apps for UI and API servers (I use gunicorn instead of uWSGI though)

- Cron jobs which invoke django-admin commands to keep the PyPI mirror in sync

Perhaps the only place I'm any fancier than OP is that my deploy script is in Python, not shell, since any time I try to write a shell script with even slightly nontrivial logic it falls over and catches fire :)

Running a python package registry has some unique challenges, so it makes sense not to start with it (I run such a registry: https://pydist.com).

For example, Python has a distinction between distributions (the actual file downloaded, e.g. a tarfile or a manylinux1 wheel) and versions that doesn't exist in most other languages.

DevPi is a good solution if you want to self-host a Python package index. PyDist has some additional features like API keys and download statistics which I think are nice, but the main selling point is that you don't have to set up and maintain it yourself.

Why would you not expect someone to charge for this? There are many services that charge for hosting private packages (rather than making them public to the world); I'm not aware of _any_ service that does so for free.

Yes, you can use --index-url.

I assume you're referring to how --extra-index-url means that pip will randomly choose which index to try to install from, potentially installing a public package by the same name instead of your private package?

It's worth pointing out that while modern hash functions are believed to be infeasible to unscramble (technically, to require exponential time), none have been proven so. In fact, proving the mere existence of such a function would prove P!=NP.

Ah, looks like you can set that up. But it's not as convenient, because 1) you have to provision the remote repository and 2) instead of transparently installing from PyPI, you have to specify the remote repository each time you install from it.

In fact I'm hoping to get some time this weekend to make a PR implementing this! (I'm assuming the reason you/Donald Stufft haven't done so is time, rather than disagreement over whether this is a good solution or some unseen obstacle to implementing it.)

Expanding on jep42's answer, there are a few problems:

- The package manager can't tell whether the package will be able to support your system or not, so if this is e.g. an optional dependency your install will probably break instead of the package being skipped.

- This results in an unexpected and hard-to-foresee dependency on some other non-npm server, which could disappear, be blocked by a firewall, etc.

- Standard tools will not understand what this package is doing and their assumptions may be broken, e.g. when trying to make builds repeatable.

It looks like they don't include the binary in the package at all, and instead the package has custom install code that downloads it during install. Which works, but it completely bypasses the package manager and would certainly take me by surprise as a user.

Because right now you can only upload individual distributions to PyPI. A release is implicitly created when you upload the first one. If PyPI implemented that change, you could only have one distribution per release.

The proper fix would be to make publishing a release a separate operation. But that breaks all existing tooling and workflows.

PyDist is specifically for Python packages, so it's 1) a better fit in this niche (for example, it mirrors PyPI so you can install public and private packages through a single index, and you won't be broken by packages deleted from PyPI), and 2) it's much cheaper if you don't need everything else Artifactory offers.

I've had some interesting conversations sparked by my personal website (linked in profile). Friendships, even. I don't blog as much as I like to, I'm embarrassed by some of the content at times, but overall I'm pleased with it.

Some people are saying the syntax is ugly, and I agree. But it addresses a real problem in Python: the names of the arguments of your public functions are also part of your public API (since they can be called as kwargs). In my experience, this is rarely desirable and makes fixing bad names unnecessarily hard.

Coalition | Back-End, Full-Stack, Product Manager | San Francisco, CA | Onsite, Full-Time

Coalition is working to solve cyber risk. We are a small team of security experts, insurance professionals, and intelligence community veterans building a better cyber insurance product. Coalition is automating risk assessment to make purchasing insurance easy, and using our knowledge to educate clients and mitigate risk where possible.

We're rapidly growing and scaling our team to accommodate that growth. We are looking to hire engineers and product managers who can help us maintain a high standard of engineering while increasing the scale and functionality of our products. These roles come with a significant amount of responsibility and autonomy.

Our front-end is in React, our back-end is built on Python 3 and Node, and our infrastructure is hosted on AWS. We are also always open to new technologies; we believe in using the best tool for the job.

Email jobs@thecoalition.com for more information.