Last week was a busy week for cryptocurrencies. I haven’t seen this covered in the mainstream news, but it looks like frameworks are being put in place for securities to begin trading on the blockchain.
[Read More]Shell quoting for bash wrappers
Bash 4.4 reduces quoting/escaping hell
TIL ${*@Q} helps with quoting/escaping hell.
Building and Publishing Apt Repos to Github Pages
Download, package, and publish software as a apt repo on Github Pages
uv is becoming really useful, but I noticed there is no apt repo/PPA of it. I decided I wanted to try publishing an apt package repository via Github Pages. The LLMs got me started, but there were a lot of little things to work out, so here’s a complete recipe.
[Read More]Docker Apt Install for Python+UV
A Proposal for Hynek's Docker Recipe
While reviewing Hynek’s awesome “Production-ready Python Docker Containers with uv” article, I made some changes to the final container. Here’s my proposal for changes.
[Read More]ElasticSearch Snapshots to Backblaze B2
Configuring Elasticsearch to write snapshots to Backblaze B2"
An important part of setting up an Elasticsearch cluster is to configure snapshots. I recently set up snapshots to Backblaze B2, an affordable alternative to AWS S3. This is a complete example of configuring them.
[Read More]ChatGPT 4 vs. Claude
Above the fold content
[Read More]Deep nesting vs Magic
Which of these two code chunks is better
I had a piece of code that was deeply nested for loops, and I wanted to see what it could look like if it wasn’t deeply nested. Deep nesting is the root of all evil, you know. Which is the most clear, maintainable code?
[Read More]Python Testing a CLI Script Without .py
How to import a module without .py suffix
I often write little CLI programs in Python, where I just want to call it “script” rather than “script.py”. I also want to be able to test functions in these scripts. It gets tricky if you want to test code from a file without a “.py” suffix.
[Read More]Understanding Headscale ACLs and Users
I spent quite a bit of time while I was learning Headscale being confused about users. Here are some key points that helped me understand them.
[Read More]Using jq to help remove headscale nodes by name
Headscale CLI requires that you remove a node by id rather than name. jq to the rescue!
[Read More]