Archive

All published posts

2440 posts latest post 2026-04-21
Publishing rhythm
Apr 2026 | 41 posts

Cheers to the Unique brains dave. I can say I am 100% with Dave on all of these, except the clean environment thing, lucky Dave. If I have enough room to see what I am doing and walk around a mess, I probably wont even notice it. I’m so hyper focused on what is right in front of me that mess could be a huge pile of cash and i’d never see it.

I love me some styled rss, it’s how the OG internet was made to be. You choose what you want to read and when. There is no middleman aggregator inflating the reach of things they want you to see or suffocating things against them. It’s just you and your internet friends.

Cassidy has a quite lovely and easy to read rss feed, with an open source style sheet, that is part of her open source blog template for astro blahg, love that name by the way!

I first learned of styled rss feeds from shoptalkshow.com, specifically from Dave Rupert.

Dave uses a pretty bog standard styled rss feed with

Today i got hit by this accessibility issue on my site. Low contrast links are not distiniquishable. I had not seen this error title before it was new to me, maybe I have bad memory or maybe it’s new to me.

I ended up dropping the background color of the site down a notch as I didn’t really care for the semi-dark brown anyways. I’m liking the near black bg-zinc-950 much better now.

Now I got that 100 A11y score in lighthouse.

I found this nugget in thechangelogs justfile, it lets you add color to your justfile with variables quite easily.

# https://linux.101hacks.com/ps1-examples/prompt-color-using-tput/ _BOLD := "$(tput bold)" _RESET := "$(tput sgr0)" _BLACK := "$(tput bold)$(tput setaf 0)" _RED := "$(tput bold)$(tput setaf 1)" _GREEN := "$(tput bold)$(tput setaf 2)" _YELLOW := "$(tput bold)$(tput setaf 3)" _BLUE := "$(tput bold)$(tput setaf 4)" _MAGENTA := "$(tput bold)$(tput setaf 5)" _CYAN := "$(tput bold)$(tput setaf 6)" _WHITE := "$(tput bold)$(tput setaf 7)" _BLACKB := "$(tput bold)$(tput setab 0)" _REDB := "$(tput setab 1)$(tput setaf 0)" _GREENB := "$(tput setab 2)$(tput setaf 0)" _YELLOWB := "$(tput setab 3)$(tput setaf 0)" _BLUEB := "$(tput setab 4)$(tput setaf 0)" _MAGENTAB := "$(tput setab 5)$(tput setaf 0)" _CYANB := "$(tput setab 6)$(tput setaf 0)" _WHITEB := "$(tput setab 7)$(tput setaf 0)"

Usage

Hurl was mentioned by @gerhard on the latest changelog and Friends. Looks like a feature rich easy to use testing tool that is tested via what looks like a config file.

Hurl is a command line tool that runs HTTP requests defined in a simple plain text format. It can chain requests, capture values and evaluate queries on headers and body response. Hurl is very versatile: it can be used for both fetching data and testing HTTP sessions. Hurl makes it easy to work with HTML content, REST / SOAP / GraphQL APIs, or any...

Today I discovered the Urllink function in bash from the ujust tool from ublue.it. Seems like a cool trick, but might not work everywhere.

On reboot of my opnsense router it did not tailscale up. I’m not sure if a key expired or what happened. The fix was to first enable ssh, then ssh in and run tailscale up.

In opnsense System > Settings > Administration > Secure Shell > Enable Secure Shell

ssh <opnsense ip> 8 # to select shell tailscale up

Follow the link to log in.

now uncheck secure shell to lock down the opnsense machine.

...

I’ve been debugging a cloudflared tunnel issue in my homelab all day today, and getting really frustrated. My issue ended up being that it was running twice, once without the correct config file and another with it. I believe that cacheing may have compounded the issue.

In yesterday’s post I setup a cloudflared tunnel on my ubuntu server to expose applications running on the server to the internet. I’m setting up a new server and running cloudflared in its own vm.

setup cloudflared tunnel on...

I run a cloudflared tunnel on my ubuntu server to expose applications running on the server to the internet. I’m setting up a new server and running cloudflared in its own vm.

sudo wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -O /usr/local/bin/cloudflared sudo chmod +x /usr/local/bin/cloudflared

#

Now setup the config directory. For the systemd service to work, the config file needs to be in /etc/cloudflared. I like to give my user rights to edit the config file without being sudo, we will do that here by creating a group cloudflared, add ourselves to the group, give ownership of /etc/cloudflared to the group, give group write access to the directory, and refresh groups.

sudo mkdir -p /etc/cloudflared sudo groupadd cloudflared sudo usermod -aG cloudflared $USER sudo chown -R root:cloudflared /etc/cloudflared sudo chmod g+w /etc/cloudflared newgrp cloudflared

login #

Now we can log into the domain zone with cloudflared.

...

Just starred nvtop by Syllo. It’s an exciting project with a lot to offer.

GPU & Accelerator process monitoring for AMD, Apple, Huawei, Intel, NVIDIA and Qualcomm

This is a really amazing documentary of argocd. I got into k8s pretty late in the game. Which is pretty typical for me. As I went to use k8s for the first time i was using workflows, then cd. both of these tools had a level of polish that made them seem like they had been there forever and not quite as young as they actually are.

I thought it was interesting how they focused on how the name must be two syllables or less, start with a or b, logo needs to be cutesy funny and recognizable seemed interesting, but puts them at the top of lists and makes them look like they’ve been there forever.

A new completion plugin that I might give a try. Readme makes it sound like its built on some fast teck that allows them to handle a lot of items and run more frequently. The videos look like they don’t have some of the same issues cmp does for me. Maybe its my configuration, but I’m pretty sure it does not update when you backspace and things like that.

I’ve been playing with 3d printing some items through the slant3d api. I’ve been pricing out different prints by running a slice request through their api.

I’ve been using uv for project management. It’s been working well for quick projects like this while making it reproducible, I’m still all in on hatch for libraries.

mkdir slantproject cd slantproject uv init uv venv . ./.venv/bin/activate uv add httpx rich python-dotenv

Get an api key #

You will need an api key from the slant api, which currently requires a google account and a credit card to create.

# .env # replace with your api key from https://api-fe-two.vercel.app/ SLANT_API_KEY=sl-**

slicing an stl with teh slant api #

Then you can run the python script to price out your print. I’m not exactly sure how this compares to an order, especially when you add in different materials.

SQLModel models ship with an is_, and is_not that you can use to compare to None without pesky linters complaining.

This comment summed it up quite well.

I believe this is concerned entirely with SQLAlchemy, not with SQLModel, and has to do with the required semantics to construct a BinaryExpression object. Hero.age == None evaluates to a BinaryExpression object which is eventually used to construct the SQL query that the SQLAlchemy engine issues to your DBMS. Hero.age is None evaluates to False immediately, and not a BinaryExpression, which short-circuits the query no matter the value of age in a row. From a cursory search, it does not seem that the is operator can be overridden in Python. This could help explain why the only possibility is by using the == operator, which can be overridden.

so rather than using Team.heros == None we can use Team.seros.is_(None) which checks for itentity not equality.

Gridfinity generator uses open scad, so you can make rugged boxes, bins and base plates with form input. not fully custom fit to things, but you can custom size square bins, hole cut out sides and all. From what I can tell, no bento box either. so as long as what you are looking for is square this generator has you pretty well covered. I’m definitely using this for simple bins and rugged boxes.

I came across pz from CZ-NIC, and it’s packed with great features and ideas.

Easily handle day to day CLI operation via Python instead of regular Bash programs. 🇺🇦 #supporting