Published

All published posts

2457 posts latest post 2026-04-19
Publishing rhythm
Apr 2026 | 40 posts

David’s design on his blog is fantastic likely from years of small improvements like this converting ugly quotes to pretty quotes and optimizing fonts.

It’s common for markdown libraries to convert the first to the second like my build script does.

This is new to me, I had no idea that markdown libraries did this, I’m now interested if markdown-it does it.

For subsetting I use the fontTools library but I’ve no idea how to setup Python environments. I got it working once and failed to document the process.

...

Copier has a few quirks with vcs that I just discovered by trying to test out some changes. I may have some config that I have long forgotten about somewhere deep in my dotfiles, I don’t think so, but id love to be wrong and corrected, please reach out.

I tried throwing everything at this template to make it work. I tried a bunch of flags that did not work. I tried making commits to the local repo to get rid of the dirty warning. I really wanted to test new changes locally without committing and pushing untested and potentially broken changes.

uvx copier copy ../markata-blog-starter . uvx copier copy gh:waylonwalker/markata-blog-starter@develop . uvx copier copy ../markata-blog-starter . -wlg --trust

What Works - –vcs-ref #

Finally after trying everything to get the local copy to work, and my guess of @branch not working I found this to work. It does require me to go to the repo on my develop branch.

uvx copier copy gh:waylonwalker/markata-blog-starter --vcs-ref develop .

...

I came across checkbox from canonical, and it’s packed with great features and ideas.

Checkbox is a testing framework used to validate device compatibility with Ubuntu Linux. It’s the testing tool developed for the purposes of the Ubuntu Certification program.

pypi yanks suck, they are rare, this one got me today as it was a pinned dependency in my dependency chain. The latest release broke python 3.6/3.7 (which 3.6 has been EOL for 3.5 years btw), and it claimed >=3.6. In order to allow users to still install xlsxwriter without pinning down it needed yanked. I’m not sure if there was another way around it as pypi releases are immutable, so you cannot fix

This now has me wondering what the heck is using it with old pythons.

It appears to have broken builds on Canonical/checkbox for ubuntu 18.04. Checkbox is a device compatibility testing framework.

https://github.com/canonical/checkbox/actions/runs/14644718138/job/41098549191#step:8:125

I try to use conventional commits on all of my commits, but I often end up only using feat/fix. I need to keep this page handy and get new verbiage worked into my language

Optionally include a scope fix(parser):

A bang indicates a breaking change note. For example …

Great breakdown of nextjs. I was highly unaware of its performance optimizations before reading this. The smell of vendor lock in from next/vercel has been there from the start, this is the first real claim I’ve seen.

I’m out on modern js front ends, complex builds that change every 6 months, design patterns are out of date just as fast. Its hard to keep up, especially when you don’t have the use case for highly interactive apps. Libraries like htmx or plain ol js gets the job done on the majority of sites and everything I tend to work on.

I’m totally with Prime here, there is something about the read only, mouse clicking part of my brain that causes me to be more critical of the code at a different level. It doesn’t hit the part of my brain thinking about the edit or how to do the edit, it hits a part thats thinking about how I will have to deal with the code moving forward.

Vendor lock in disguised as performance. Nextjs aparantly now streams all of your metadata on the fly with js. This would obviously kill all seo right, well not if you’re on vercel they automatically detect search crawlers and serve the metadata. Why the f do they need to do this and not just serve everyone the metadata. The Web is this beautiful place where anyone can create and build amazing things with a relatively low skill. Js is meant to be enhancement, not degrade the experience of its users.

I’ve been using gitingest web ui [[ thoughts-516 ]] for quite awhile to serialize git repo into llm friendly text files. This gives tools context about repos that are not in the training data so that it knows about it and how to use the code in the repo. gitingest also has a python library [[ thoughts-517 ]]

I had a use case for a project not yet on git, and found yek.

Their instructions tell you to curl to bash.

curl -fsSL https://bodo.run/yek.sh | bash

I don’t like curl to bash from random sites, so I have my own self...

...

Today I discovered brightnessctl to adjust the screen brightness on my AwesomeWM machine. Its a command line utility that you can use to adjust the brightness of your screen. A command line interface like this gives you the ability to bind keys with something like [[xbindkeys]] or your window manager configuration.

sudo apt install brightnessctl # or paru -S brightnessctl

Now that you have it installed you can use it to adjust the brightness of your screen, this worked particularly well for my laptop screen, I don’t think this works for monitors, in my experience they are usually controlled by the built in osd.

I thin a lot of us have this issues, especially on side projects. At work therre are expectations, jira tickets and so on, keeping you shipping. I think there is something to be said about getting that quick and dirty POC to the right group of people early for feedback before you add redis caching, kubernetes, auto scaling, disruption budget, distributed nodes, high availability, backups, disaster recovery. At work you kinda have to have the right person to shoot ideas by that can understand that you probably need some of these complex things for your app and it will take time to get right.

I would love to have a browser based video editor I could throw on a server and do quick edits from anywhere. I tried to get this one to work and struggled to get front end to send api requets to backend. I think the root of it was their redis wants to run on 80, this caused a permission error so I tried to run 8880:80, but redis was still unable to start due to a config permission error.

I love this idea of tiny useful apps for yourself. In fact I’m working on a project to built out tinyapps for myself to replace my common needs. I absolutely love that all of the state is stored in the url bar, nothing is stored server side. As much as I love to hate js, I really appreciate that things like this can be built to just live on the web, be accessible from anywhere, and live practically forever as they require such little hosting demand.

This looks like a very useful formatting tool to keep in the back of my mind. I do a lot of python and our tool tends to be pre-commit, named after the git hook pre-commit. It specifies a bunch of tools to run, you can run them in ci, manually, and opt into doing it before commit. I like the simplicity of this one not needing a whole ecosystem, but rather just leveraging the cli commands from those tools. This would probably be something that would get in the way of setup for new devs and not something I would throw on one project by itself, its another thing for everyone to figure out how to install and run on every platform, I’m sure its not hard, but being on python teams pre-commit just fits in.