John Paton @johnpaton.net · 15/01/2025The Lazarus Heist Season 2 alternate endingbbc.co.ukBBC World Service - The Lazarus HeistHackers, North Korea, billions of dollars. Season 2 begins at an ATM, possibly near you 020
Reposted by John PatonMeredith Whittaker @meredithmeredith.bsky.social · 09/01/2025Not lost on me that it's nonprofit tech, app.watchduty.org, showing up & actually working in the midst of the LA fires (donate to them!) Meanwhile platforms fail to surface key news, vital info is paywalled... As I've been saying, we need a new tech paradigm, yesterday!app.watchduty.orgWatch Duty - Wildfire Maps & AlertsReal-time information about wildfire and firefighting efforts nearby 7939401172
John Paton @johnpaton.net · 07/01/2025I don’t think you can force them to unfollow but I’ve been seeing these accounts getting taken down pretty quickly so probably the best thing to do is just to report 110
John Paton @johnpaton.net · 07/01/2025Yeah I DM’d them your @, must have mistaken the intention behind your initial enthusiasm Nah for real they probably work like web crawlers and work their way through the following graph. 210
John Paton @johnpaton.net · 07/01/2025Nah look at that uninspiring lack of originality This is a JavaScript job for sure 040
John Paton @johnpaton.net · 07/01/2025Welcome new followers I hope you enjoy #pythonprogramming as much as I do 150
John Paton @johnpaton.net · 01/01/2025If you found a box of individually wrapped, still mostly frozen ice creams on the tram, would you? Pic unrelated 010
John Paton @johnpaton.net · 01/01/2025Will this be the year that sleep levels recover enough to start doing fun tech stuff again? 010
John Paton @johnpaton.net · 30/12/2024Default values are pretty handy. For everything else there’s ~~Mastercard~~ if statements 110
John Paton @johnpaton.net · 29/12/2024I tweaked mine a little, it the creation part looks like if [[ -z $VIRTUAL_ENV || ! -d $VIRTUAL_ENV ]]; then uv venv --seed if [[ -f "uv.lock" ]]; then log_status "Syncing dependencies from uv.lock with \`uv sync\`." uv sync fi fi 010
John Paton @johnpaton.net · 29/12/2024Nice! I’m also not sure if it’s idiomatic™️ but it works and it’s not too much trouble. Mind you do need the central direnv config for the uv layout as well github.com/direnv/diren...github.comPythonunclutter your .profile. Contribute to direnv/direnv development by creating an account on GitHub. 210
John Paton @johnpaton.net · 22/12/2024Would like to start blogging a bit again after like 4 years (kids will do that), I have a few ideas but it turns out getting them down on paper is a skill that atrophies away 010
Reposted by John PatonNick Gerakines @ngerakines.me · 18/12/2024We did a thing.github.blogAnnouncing 150M developers and a new free tier for GitHub Copilot in VS CodeCome and join 150M developers on GitHub that can now code with Copilot for free in VS Code. 3182
John Paton @johnpaton.net · 19/12/2024Figuring out whether a "breaking change" is breaking _for me_ 000
John Paton @johnpaton.net · 18/12/2024… did AWS rebrand SageMaker to “SageMaker AI” without making any other changes? 000
John Paton @johnpaton.net · 15/12/2024Yeah conda is another beast, my old pyenv+virtualenvmanager setup was pretty pain free to covert which is lucky. Just recreated all my venvs inside the target directory 010
John Paton @johnpaton.net · 15/12/2024You can still source ~/.venv/bin/activate from anywhere in a pinch 100
John Paton @johnpaton.net · 09/12/2024I devoured the sci-fi Remnants series by Katherine Applegate around that age. Might be a bit too much for the 11 y.o. There are loads of them so enough to keep them going for a while. www.goodreads.com/series/41871...goodreads.comRemnants Series by Katherine ApplegateThe Mayflower Project (Remnants, #1), Destination Unknown (Remnants, #2), Them (Remnants, #3), Nowhere Land (Remnants, #4), Mutation (Remnants, #5), Bre... 000
John Paton @johnpaton.net · 08/12/2024I’ve seen one in Halifax and it looked like something escaped a video game into real life (but not in a good way) 000
John Paton @johnpaton.net · 07/12/2024I don’t have much of a use for uvx beyond quickly trying things tbh. It’s nice, but uv tool install is my daily driver for CLIs 000
John Paton @johnpaton.net · 07/12/2024Really enjoying the state of Python tooling these days, with one glaring exception: static type checking still feels so janky 000
John Paton @johnpaton.net · 06/12/2024My biggest feedback is that the documentation is split over the website and the wiki. It would have been easier for me to figure out how to install it and how to configure uv if the docs were all in one place and cross linked. 100
John Paton @johnpaton.net · 06/12/2024While I have your attention :D I would love for uv to have a simple(r) way to launch a python interpreter in a fresh venv, just to quickly try something. uv run --with python3.x python is a bit wordy and depends on the current env. Maybe a special case in uvx? uvx --with requests python3.13t 000
John Paton @johnpaton.net · 06/12/2024I maintain a little Python package called airbase for downloading air quality data from the EEA. I botched the 1.0 release this week because of this 😅 github.com/JohnPaton/ai...github.comBugfix: Don't update uv.lock inside CI by JohnPaton · Pull Request #66 · JohnPaton/airbaseuv sync in the CI was actually updating the lockfile. This is causing the working dir to be dirty, so even builds for tags are building dev versions (see here). It also kind of defeats the point of... 010
John Paton @johnpaton.net · 06/12/2024If you’re using uv sync to install locked dependencies in your CI, make sure to use —frozen or set UV_FROZEN. Otherwise it may update the lockfile. If you’re using dynamic versioning, this will create a dirty state and even tags will be built with dev versions. #pythonprogramming 120
John Paton @johnpaton.net · 06/12/2024Tbh the default config is already pretty good. My only real config is to get all my git status info up front and in the colours I want, make an indicator if I’m connected to a shell over ssh, and customizing the kubernetes bit so I could see which cluster my kubectl context is currently aiming at 000
John Paton @johnpaton.net · 05/12/2024I haven’t heard of aqua, looks nice @purpcheck.bsky.social ! 110
John Paton @johnpaton.net · 05/12/2024If it’s a uv-managed repo anyway (I don’t touch on dependency management or anything here) then uv will create the venv anyway. Otherwise other tools like poetry or pdm also usually handle this 100
John Paton @johnpaton.net · 05/12/2024No its all local. In my setup, direnv only handles the mechanics of creating and activating venvs. Everything works without it, it’s just for convenience. I don’t develop on very many different machines so a one-time echo ‘layout uv’ > .envrc && direnv allow Isn’t really much of a burden. 220
John Paton @johnpaton.net · 05/12/2024This was me like 2 months ago. Made the full switch and have absolutely not looked back. With direnv, you basically put a .envrc file in every dir that should have a venv, and direnv will activate it for you when you go there (check the wiki link). Put .envrc in your global gitignore! 110
John Paton @johnpaton.net · 05/12/2024The low-level computational libraries are all C++ and Fortran. Python is only the high level interface that makes things more accessible. 140
John Paton @johnpaton.net · 05/12/2024It’s the main way I navigate between projects, deeply in my muscle memory 000
John Paton @johnpaton.net · 05/12/20247. Use starship prompt so that I can always easily see what venv and Python version is active - thanks @matchai.dev starship.rsstarship.rsStarship: Cross-Shell PromptStarship is the minimal, blazing fast, and extremely customizable prompt for any shell! Shows the information you need, while staying sleek and minimal. Quick installation available for Bash, Fish, ZS... 130
John Paton @johnpaton.net · 05/12/2024Big shoutout to @agkozak.com @crmarsh.com @zimbatm.bsky.social for these tools that make my hectic life smoother 🙏 330
John Paton @johnpaton.net · 05/12/20246. Try out new or one-off tools using uvx. This way you don’t need to remember to uninstall them. 100
John Paton @johnpaton.net · 05/12/20245. Install tools that you might generally need during the day (ruff, jupyter, pre-commit, …) using uv tool install. They will be installed in isolated environments so their dependencies can’t conflict, and you can call them directly (no need for uv run). 110
John Paton @johnpaton.net · 05/12/20244. Have a base venv that’s activated in your home directory (direnv walks up the filetree looking for .envrc files). That way you shouldn’t accidentally use your system Python and it’s very easy to switch Python versions. 210
John Paton @johnpaton.net · 05/12/20243. Jump around between projects using z. venvs will be activated and deactivated as I go. No need to worry about exact paths. github.com/agkozak/zsh-zgithub.comGitHub - agkozak/zsh-z: Jump quickly to directories that you have visited "frecently." A native Zsh port of z.sh with added features.Jump quickly to directories that you have visited "frecently." A native Zsh port of z.sh with added features. - agkozak/zsh-z 111
John Paton @johnpaton.net · 05/12/20242. Use direnv to automatically create and activate uv-managed virtual environments as I move between projects. Create venvs with —seed to install pip, so that your muscle memory still works for on-the-fly Python package installation github.com/direnv/diren...github.comPythonunclutter your .profile. Contribute to direnv/direnv development by creating an account on GitHub. 120
John Paton @johnpaton.net · 05/12/2024How I use Astral’s uv to manage my local development environments: 1. Install uv through homebrew, install Python versions through uv. Upgrade uv version to get access to new Python builds, do this frequently #pythonprogrammingdocs.astral.shuv 2356