I’m familiar! I recently built something with projen. Projen is quite cool because you can mark templates as “managed,” which means they’re read only in the repo. Establishes a contract of “any edit to this file will be lost”
That command takes 6 seconds I believe as well if I remember correctly. And likely there isn’t a ton of churn on the script. So having it make a new venv each time is kind of annoying. I was trying to aim for a good balance of fast and developer experience.
Basically if there’s an upgrade everyone needs to be using the most recent version, I didn’t want to rely on a pr dance to pin versions, and I also didn’t want to rely on everyone running a command when there’s a change
UV has done so much for Python but I did fight it a bit today.
I was trying to centralize the management of a script that appears in a few different repos, and has invariably drifted in its implementation in multiple way over time.
My idea was
uv run --with $package main --help
I was looking for an easy way to automatically
1. Install it if it doesn’t exist and run
2. Don’t install it if it’s running the latest version
3. Update if it’s not on the latest version
All three were surprisingly tricky to accomplish.
By default uv run will reinstall it every time. Which is 6 seconds of venv and installs
uvx or uv tool weren’t much better as that posed new problems where a user wouldn’t get upgrades.
I ended up having the script run a paginated GET on codeartifact and update if there’s a newer non-dev version (and then re-execute).
That seems to work. And 200ms delay is better than 6 seconds. But it wasn’t quite the experience I wanted.
Something that's helped me lately is setup alfred commands where various apps are bound to a combination key press. It's on my split keyboard and I can't recall but it's a combination of keys, but, I think ctrl+cmd+option (all on the right hand thumb cluster) and a letter where the letter is bound to an app
- z launches conductor (coding agents with worktrees)
- w launches wezterm
- f launches firefox
- c launches chrome
- d launches obsidian
- s launches slack
So I'll keep one of these full screened on the main monitor at all times. And then I've got maybe spotify open on the laptop usually which I generally ignore most of the day.
And if I need two apps I'll use rectangle to tile windows side by side
It seems like a minor thing but it's a less cognitively burdensome workflow for me as the day goes on than cmd tab would be.
Also here's the link to conductor, I'm not affiliated but really like their tool imperfections and all https://www.conductor.build/
This project is amazing but for some reason local multiplayer is always such a headache (steamdeck via emudeck).
Often times the controller disconnecting for a moment isn't able to re-connect in the previous slot. I guess my 8bitodo controllers are on their last legs. Anywho whenever this happens (every night at least once) we spend time trying to re-order the controllers (digitally and with the usb hub) but ultimately generally need to abandon our monkey ball or ribbit king session (which is tragic iykyk).
I now have a really thorough note about how to configure all of the controllers and what ports things need to be in so that savestates work on the steamdeck controller. They don't work on the 8bitdo controllers. Two years ago was maybe able to get savestates on the 8bitdo controllers but I think an update regressed that functionality? Never been able to get it working again. So steamdeck needs to be port 4 for savestates so that no one needs to use the deck as a controller (which is plugged in to ubs hub and HDMI). That means I need to go into desktop mode and fiddle with settings if I want to use dolphin in single player on the deck (and back again to reset before friends come over).
I imagine this is all because dolphin has a more sophisticated interface when it comes to controllers? It would be nice if there was a toggle that hides all of that functionality such that controllers work out of the box ala most other emulators. No idea the feasibility of that however. Or maybe it's an emudeck issue.
Develop a calistenics practice. Ive been to the gym more on than off over the past few years and feel like I’ve plateaued. I also had a minor thing that I’ve gone to the physio for recently and I prefer the routine of doing those exercises (which would be similar to a calistenics practice in a lot of ways) to going to the gym. Kettlebell and pull up bar to be ordered when I’m back from India
I recently bought a stainless steel pot set which already seems like such a game changer in terms of cooking due to how much better sauces come out due to better fonds. So I want to see what else I can do to push things forward again and generally level up my cooking
Also want to do better with skincare. Partially to age gracefully but I’ve always had dryness here and there off and on on my face. I’ve been in India all month and it got worse, but, got better when I bought some coconut oil. I think the oil acts as a barrier to prevent moisture from escaping.
Also would like to play with some mlops tooling. I do a lot of infra / DevOps stuff, which I can do in my sleep at this point. So I haven’t really been growing in a specific vertical much aside from just generally getting better at software engineering (communication / prioritization / clean and simple architectures).
Also would like to learn linear algebra. Reading a book on how that works with ML and it’s been actually super satisfying seeing how all the math connects. The book is called why machines learn
Stumbled on your blog the other day while trying to figure how to use tailwindcss with Go. Had seen other posts here and the. Also a tail scale fan. Thanks!