Sign in

John Paton

@johnpaton.net
220 followers 331 following 63 posts

Dad | 🇨🇦 in 🇳🇱 | ML Platform Engineer ML(Platform) | Open Source Software | Python | Bouldering | Books (esp Sci-Fi) | Leftism | Toddler Management Af en toe ook in het Nederlands johnpaton.net github.com/johnpaton

PostsRepliesMedia
John Paton @johnpaton.net · 22/01/2025
Not me regretting my domain name handle
010
John Paton @johnpaton.net · 22/01/2025
I feel personally attacked
120
John Paton @johnpaton.net · 15/01/2025
The Lazarus Heist Season 2 alternate ending
bbc.co.uk
BBC World Service - The Lazarus Heist
Hackers, North Korea, billions of dollars. Season 2 begins at an ATM, possibly near you
020
Reposted by John Paton
Meredith Whittaker @meredithmeredith.bsky.social · 09/01/2025
Not 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.org
Watch Duty - Wildfire Maps & Alerts
Real-time information about wildfire and firefighting efforts nearby
7939401172
John Paton @johnpaton.net · 07/01/2025
why would you do this to me
010
John Paton @johnpaton.net · 07/01/2025
Actually one of them is already gone I think
010
John Paton @johnpaton.net · 07/01/2025
I 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/2025
Yeah 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/2025
Nah look at that uninspiring lack of originality This is a JavaScript job for sure
040
John Paton @johnpaton.net · 07/01/2025
Welcome new followers I hope you enjoy #pythonprogramming as much as I do
150
John Paton @johnpaton.net · 01/01/2025
I type so that other people don’t have to click
020
John Paton @johnpaton.net · 01/01/2025
If 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/2025
Will this be the year that sleep levels recover enough to start doing fun tech stuff again?
010
John Paton @johnpaton.net · 30/12/2024
Default values are pretty handy. For everything else there’s ~~Mastercard~~ if statements
110
John Paton @johnpaton.net · 29/12/2024
Welcome aboard! 🚢
010
John Paton @johnpaton.net · 29/12/2024
I 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/2024
Nice! 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.com
Python
unclutter your .profile. Contribute to direnv/direnv development by creating an account on GitHub.
210
John Paton @johnpaton.net · 22/12/2024
Would 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 Paton
Nick Gerakines @ngerakines.me · 18/12/2024
We did a thing.
github.blog
Announcing 150M developers and a new free tier for GitHub Copilot in VS Code
Come and join 150M developers on GitHub that can now code with Copilot for free in VS Code.
3182
John Paton @johnpaton.net · 19/12/2024
Figuring 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/2024
Yeah 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/2024
But that’s not as elegant as the rest, I admit
100
John Paton @johnpaton.net · 15/12/2024
You can still source ~/.venv/bin/activate from anywhere in a pinch
100
John Paton @johnpaton.net · 09/12/2024
I guess this was easier than the Dependabot update
020
John Paton @johnpaton.net · 09/12/2024
I 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.com
Remnants Series by Katherine Applegate
The 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/2024
A screenshot of the BkueSky settings Moderation > Mute Words, with “starter pack” filled in
140
John Paton @johnpaton.net · 08/12/2024
I’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/2024
I 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/2024
Really 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/2024
My 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/2024
While 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/2024
I 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.com
Bugfix: Don't update uv.lock inside CI by JohnPaton · Pull Request #66 · JohnPaton/airbase
uv 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/2024
If 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/2024
Tbh 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/2024
I haven’t heard of aqua, looks nice @purpcheck.bsky.social !
110
John Paton @johnpaton.net · 05/12/2024
If 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/2024
No 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/2024
This 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/2024
The 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/2024
It’s the main way I navigate between projects, deeply in my muscle memory
000
John Paton @johnpaton.net · 05/12/2024
7. Use starship prompt so that I can always easily see what venv and Python version is active - thanks @matchai.dev starship.rs
starship.rs
Starship: Cross-Shell Prompt
Starship 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/2024
Big 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/2024
6. 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/2024
5. 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/2024
4. 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/2024
3. 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-z
github.com
GitHub - 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/2024
2. 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.com
Python
unclutter your .profile. Contribute to direnv/direnv development by creating an account on GitHub.
120
John Paton @johnpaton.net · 05/12/2024
How 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 #pythonprogramming
docs.astral.sh
uv
2356
John Paton @johnpaton.net · 04/12/2024
Ahhh you subscribe to them! Time to go exploring. Thanks!
120