Today I Learned

Short TIL posts

1834 posts latest post 2026-04-18
Publishing rhythm
Apr 2026 | 20 posts

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.

Focus on the joy, not the suck. Nothing you do in life will be absolute pure joy with no downsides forever, life does not work that way, your brain does not look that way. Look at anyone who ever got massive billion dollar payouts for something like minecraft and how much their life is not glorious when they have nothing to really look forward to.

Prime talks about it in almost a cliche way, every boring ass task is an opportunity to grow. This is so real though, if you look at every task ask a shit you gotta do to check that jira ticket off and make bossy lady not scream at you its going to be a hell. If you rather look at it as opportunities to implement new features in new ways or learn something to better yourself and watch yourself grow you are going to take a big dopamine hit. I think prime talks about this in the sense of larger projects. He as talked about his experience being much less of a daily standup, but more of a ok we got three months to figure this out lets go boys. When you are stuck in that daily jira grind it’s harder to see that larger picture of the learning and growing you are doing over the course of 3 or 6 months.

...

Should I go to college? Was my education worth it? Should I keep going. A question that comes in all too often accross most industries that require some level of education. DHH has such great takes on it, some I had never fully thought about. He starts out with should we have people study niche topics (using Russian Poetry as an example). Yes the world deserves people who can make their life works out of something that brings them and many other so much joy, but no you probably shouldn’t go 100k’s into debt to do it. Should I get a software engineering degree, or become a doctor also have similar answers, it needs to be somewhat justified and not outrageous as has become the norm.

We used to listen in to Dave Ramsey on long car rides and he would have people call in and say, they went half a million dollars into debt to become a dentist, only to discover they did not want to do dentistry. At this point it’s too bad, you gotta suck it up and pay that off with something that makes some serious cash, and the only skill you probably got that can bring in that level of cash is … dentistry.

They dive into the college experience, learning to have adult debates with classmates about...

...

webtui, looks like a pretty sick design aesthetic. I like the keyboard driven nature of it, the look and feel is on point to a terminal interface, sadly it looks like it is not a 2 way street, you don’t automatically get a tui our of your website, just one that looks the part in the browser.