Saving this one for posterity since I seem to run into something like this once every couple of months. Really gotta get a Mac for my next dev machine. sudo apt update && sudo apt upgrade -y # Since you mention that you have set your user to be root: sudo sh -c 'echo "[user]\ndefault=root" > /etc/wsl.conf' wsl.exe -l -v # Confirm your distribution name for the following command: wsl.exe --terminate Ubuntu Credit to this StackOverflow answer.
I recently came back to an idea I started playing with back in January: sticking a game into the Jupyter notebook interface. The key problem to solve here is that, while Jupyter is designed to run the code you see and explain it, for game purposes I want the code to do the opposite: control the interface itself (and do so while being at least lightly obfuscated from the user). Adding, Running, and Removing Cells With IPyLab IPyLab has been a great (and really fun) tool for this purpose. You c
Just a quick shout-out to Home Assistant, who have relatively easy-to-follow documentation for setting the app up on a Synology NAS. Just download the container, add your time zone, make sure it's set to use the "host network", and make sure port 8123 is open on your firewall. I'd been putting off setting this up given the usual amount of lift involved in getting something new runing on my homelab, but it only took me about 10 minutes. Finally no more fiddling with the Hue app, and K can purchas
There are a lot of tutorials out there for running a gunicorn server on systemd, but I wasn't able to find one that actually told me how to do so in selinux. Since I'd never used selinux before, this relatively simple task turned into hours of trial and error, but my loss is your gain. YMMV dependent on how custom your selinux setup is, but this worked for me: Assuming your project is in /www/myproject: /www/myproject/gunicorn_config.py: bind = 'unix:/run/gunicorn.sock' worker_class = 'sync'
I've slowly been getting more familiar with uv and the broader new school of python packaging ecosystems (sorry, I used virtualenv for a long time, it does the job fine), and one of the most exciting things to me is its use of dependency groups in a pyproject.toml file: finally, a non-janky way to use different packages in different environments. However, I think its documentation leaves a bit to be desired on this front, so I wrote down a few commands I find myself using regularly. To add a pa
In googling for a stock image to put at the top of today's post, I discovered there's already a #100DaysofWriting movement. Apparently it's quite popular! The whole thing is based on showing up to the page with curiosity and gentleness. 'Showing up' can look like whatever you want. Five minutes of note scribbling? That counts. Research reading? That counts too, just as much as writing 1000 words. The point is regular connection without judgement. These people think it's okay to "set reasonable
I've been playing around with the idea of using Jupyter notebooks as a narrative game interface for a while, and finally got around to doing some prototyping this week. One thing I really wanted to do was require users to run code cells in Jupyter to unlock story beats: Jupyter notebooks are usually presented as a step-by-step tutorial, which is perfectly fine if you're trying to teach someone how to run a linear regression in sklearn but less so if you're trying to build suspense over the cours
Ran across this quote recently and went down a bit of a rabbit hole into Debussy and Saint-Saens' mutual hatred. I think it's important to remember that classical composers were all catty as hell and constantly beefing with each other. RIP Claude Debussy, you could have gotten in some great fights on Twitter. (Saint-Saens may have been sentimental but Danse Macabre still slaps).
du -cha --max-depth=1 / | grep -E "M|G" From this StackOverflow answer - ncdu is also a good tool for this, allegedly, but its output didn't really seem to have any correlation to the actual folders on my server. I feel like I have to do this once a year because of storage issues and always forget, so hopefully this serves as a reminder going forward. Turns out snap is the culprit, as per usual. In a fit of pique I uninstalled snap and all of its files, and lo and behold I'm able to finally upd