Archive

All published posts

2605 posts latest post 2026-10-24
Publishing rhythm
Sep 2026 | 28 posts

Jun 2 – Jun 8, 20251 year ago

Featured this weekWriting

The rich console is themeable, I’ve been a long time user of rich and had no Idea. You can define your own theme keywords and use them just like you use normal rich keywords in square brackets like'[bold red]'.

from rich.console import Console
from rich.theme import Theme
custom_theme = Theme({
    "info": "dim cyan",
    "warning": "magenta",
    "danger": "bold red"
})
console = Console(theme=custom_theme)
console.print("This is information", style="info")
console.print("[warning]The pod bay doors are locked[/warning]")
console.print("Something terrible happened!", style="danger")

Writing

You can unset multiple environment variables at once. I did not know this was a thing, its something that ended up happening organically on a call and asking someone to run unset. They had never done it before and did not know how it works, but did exactly as I said instead of what I meant. I like this handy shortcut doing it in one line rather than each one individually, I will be using this in the future. You might need this for something like running aws cli commands with localstack.

unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_DEFAULT_REGION

Writing

i3lock is a fantastic lockscreen for tiling window managers.

If you are using a tiling window manager within a public space you need to add a lockscreen. I have one machine that I take with me to a public space. Its secure enough that I can leave it, but not secure enough that I want to leave it unlocked. So when I need to leave it behind for the restroom I need to lock it up.

arch wiki

paru -S i3lock
# or
apt install i3lock

Now that you have i3lock installed lets lock that screen.

# lock it with a pure white flashbang
i3lock

# lock it with a black background
i3lock -c 000000

# lock it with a custom color
i3lock -c 2e1330

# lock it with a wallpaper
i3lock -c 000000 ~/Pictures/Wallpapers/mywallpaper.png

You can use your window manager or something more generic like xbindkeys to set a hotkey. This way you don’t have to open a terminal and type out the command every time you leave your desk. You can just press something like SUPER+L like you would on other OS’s.

Fancy #

If you like it a bit fancier, you can use i3lock-fancy, it can blur, pixelate, and greyscale your current screen. I did not really like this because you can still tell what is going on the screen. It’s probably secure enough and looks better, but I went with regular i3lock.

paru -S i3lock-fancy-git
# or
apt install i3lock-fancy

Link

I recently discovered niri by niri-wm, and it’s truly impressive. A scrollable-tiling Wayland compositor.

Link

Link

zk by zk-org is a game-changer in its space. Excited to see how it evolves. A plain text note-taking assistant

Link

If you’re into interesting projects, don’t miss out on alex, created by get-alex. Catch insensitive, inconsiderate writing

Link

Link

Link

Link

Note

PocketCal Build Log I made a date-sharing app called PocketCal. Here cassidoo.co 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 sid…

Note

Note

Note

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 nothi…

Note

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 Po…

Note

WebTUI Modular CSS Library that brings the beauty of Terminal UIs to the browser webtui.ironclad.sh 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…

Note

Note

Backups interrupted by full disk usage | Nic Payne I just got a message from HCIO that my primary backup script is late... This happens every now and then but I decided to check on it... Quickly `ssh` in and I n pype.dev I’m way behind on my notification game and need to pick it up. maybe I’ll look into hcio as well. m…

Note

Queso Notes | Nic Payne It occured to me that this is my blog... I can write about whatever the heck I want! May 2025 Made 2 quesos very similar - they consisted of: 1.5 lbs ground bee pype.dev Taking this as inspiration to do more non-tech on my blog, I’ve branched out into Posts tagged: gaming, but need take it to th…

Note

Note

External Link hub.docker.com Browsing for the minio tag that I have running right now I discovered that you can do and you get the same version that matches the docker tag, this is super convenient and helpful. I also notice that they use timestamped version numbers. I kinda dont mind this. It feels easy to understand…

Note

I am going to start trying to employ this rhythm to my writing. I’m not very sure how I feel about it, there is something almost too assertive about it. It’s giving me a (i’m great and you should too) kind of vibe. I want to become more assertive in my writing. I’m giving this a shot and see what I learn, you might not…

May 26 – Jun 1, 20251 year ago

Featured this weekWriting

kraft

Kraft is the family gaming server that we started early 2025. Repopulating Villagers are really hard to get gong. We have this huge villager tower on the server, we nearly every bed filled, and one day we logged in and there were three. Not sure what happened until I witnessed one of them jump maybe 3 blocks down and o…
1 min read

Writing

my nvim spellcheck setup

I’ve gone too long without a proper spellcheck setup in nvim. I know it’s there, I just don’t use it, I don’t have the right keybinds, like I do with vim date, to make it work, and its clunky. Default keybinds z= show spell suggestions zg add word to dictionary zw remove word from dictionary]s jump to next misspelled w…
2 min read

Writing

If you need to target a specific k8s node in the cluster, you can use labels. You want to treat your nodes as much like cattle as you can, but sometimes budgets get in the way. You might be like me and just run any free hardware you can get in your cluster, or you might have some large storage or gpu needs that you can’t afford to put on every node in the cluster.

kubectl get nodes --show-labels

# add the bigpool label
kubectl label node k8s-1 bigpool=true
kubectl get nodes --show-labels

# remove the bigpool label
kubectl label node k8s-1 bigpool-

To use the label in a pod set spec.nodeSelector to the label that you applied.

apiVersion: v1
kind: Pod
metadata:
  name: busybox
spec:
  containers:
  - name: busybox
    image: busybox
  nodeSelector:
    bigpool: "true"

Writing

/wants

Inspired by mara.town/wants want but do not enjoy New hardware that cannot be repaired Disciplining Children Nice landscaping which requires regular maintenance enjoy but do not want breakfast Fancy things Manual Labor in moderation Vacations to far away places clankers writing all of the code
1 min read

Writing

Linux Is About Choice

This Luke Smith video came across my feed Linux, Bitcoin: When Tech Projects Become “Too Popular…” Don’t forget the goal.. It’s interesting to hear his perspective about Linux, FOSS, Free Software being the end goal, and that we are loosing sight of the goal. This sentiment really aligns with the early FOSS movement fr…
6 min read

Note

Note

Note

Self-Host Weekly (30 May 2025) Self-hosted news, updates, launches, and content for the week ending Friday, May 30, 2025 selfh.st · selfh.st The object storage (S3-compatible) platform MinIO created a bit of a stir this week I had not heard about this before it came in through selfh.st. I use minio a lot, and did not k…

Note

DHH (@dhh) on X NIH: Not Invented Here Syndrome might come from a good place, but almost everything that's good in this world came from people who ignored it. Virtually everything is a variation of something else.... X (formerly Twitter) · x.com I suffer hard from NIH, I’m cheap, I like building things, I hate reading…

Note

Note

External Link hn.algolia.com this post by Jim Nielsen, lead me to this commit where I found that he was including posts of his that wound up on hackernews. I really like this idea and might take it, even though i have very few HN linked posts.

Note

Links - Jim Nielsen’s Blog Writing about the big beautiful mess that is making things for the world wide web. blog.jim-nielsen.com I really like the idea of Jim’s Eternal Links, and really want to take it for myself. To expand here I want to be able to look for common places for rss feeds, and be able to scrape out rss…

Note

Note

A Gentle Intro to RSS A guide to RSS for the less tech savvy. Derek Kedziora · derekkedziora.com Some of the best things from the old internet are still preserved with RSS. Content is shared via simple files, which means the slow-loading, ad-stuffed and tracker-filled clutter of the modern internet are mostly absent. T…

Note

~gitbook/ogimage/-LIvvKfMD3PkcDQCppzH" alt="Command Line | gitignore.io / docs — To run gitignore.io from your command line you need an active internet connection and an environment function. You need to add a function to your environment that lets you access the gitignore.io API." loading="lazy"> Command Line | gitign…

Note

linkarzu has a way to navigate his entire mac using a hyper key. Everything looks so tight and polished, also a lot to remember! Lucky he has a system of mnemonics that make it easy to remember. His setup is very Mac focused using mac only apps, so this would not work for me, though I’m sure I could get something simil…

Note

Note

The adapter pattern in python The Adapter pattern is a design pattern that allows objects with incompatible interfaces to work together. It provides a way to convert the interface of an object into another interface that client... Rob Parsons · robp.dev This has me wondering if I need to really learn more patterns, dat…

Note

Adding a Dynamic Now Page in Jekyll Make an auto-updating now page on a static site like Jekyll, Hugo, 11ty or Gatsby Derek Kedziora · derekkedziora.com wow looking at how this is done kinda draws me towards jekyll a little bit, I did not realize some of the similarities that it has with markata.

Note

Note

wants Personal website. Webby personsite. Amateur hour round the clock. maya.land · maya.land Allen Carr1 on quitting smoking: [Carr] recommends working to really notice and internalise that disconnect [between what we want and what we enjoy]. He tells smokers to pay attention to their next cigarette. It’s like mindful…

Note

Blogroll Blogroll - a collection of awesome people I follow online Waylon Walker · reader.waylonwalker.com I rolled out the blogroll today, nothing pretty, but is one single page of the rss feeds I follow.

Note

Markata got a shout out part way through the latest episode of LNL, I will go back, re-listen and take some of the feedback. His thoughts on Markata were interesting. On one hand it really is a thing for me that works for me, and as a person with too many side projects I don’t have the focus to really give it polish. O…

Note

Root for Your Friends Heads‑up: The concept of this post might seem trivial, but it can improve your career, happiness, and the people you care about. Proceed without caution. It only takes about 10 minutes to read. josephthacker.com Such a great message right now. I feel like everywhere I turn is negativity, especiall…

May 19 – May 25, 20251 year ago

Featured this weekWriting

I’m currently [[replacing-google-search-apps-with-self-hosted-web-apps]] and decided to create a simple b64 encoder/decoder, just start typing to enter text, escape to deselect, then e/d to encode/decode.

I’m trying to make these apps super simple, self hosted out of minio, static html, and javascript. It’s been fun to get back to some simple interactive web development like this. No build just a website that does something. No broken builds, no containers to deploy, just push to minio.

encoded = btoa(content);
decoded = atob(encoded);

Here is the result.

screenshot of https://b64.wayl.one

Writing

tinyapps

I’m working on replacing my usage of google inline search apps with real apps, these are ones that I create and host on my own homelab. The first three that I created are mostly chatgpt based, with a bit of hand edit after the fact, uploaded to minio and become an app on my k8s-pages renamed The original title of this…

Writing

I’m trying to replace my usage of google inline search apps with real apps, today I used a stopwatch to time some things out at work by opening stopwatch. This was something I just wanted running in a tab on another screen, it was not timing running code or anything, I was using it as a reminder to check browser caches every 5 minutes or so for some testing.

So tonight I whipped up a stopwatch, clock and timer, all of which are using the wakelock API to keep the screen on while the app is running.

    // Wake Lock support
    let wakeLock = null;
    async function requestWakeLock() {
      try {
        if ('wakeLock' in navigator) {
          wakeLock = await navigator.wakeLock.request('screen');
          console.log("Wake lock acquired");
        }
      } catch (err) {
        console.error("Wake lock error:", err);
      }
    }

    document.addEventListener("visibilitychange", () => {
      if (wakeLock !== null && document.visibilityState === "visible") {
        requestWakeLock();
      }
    });

    requestWakeLock();

Link

f2 by ayoisaiah is a game-changer in its space. Excited to see how it evolves. F2 is a cross-platform command-line tool for batch renaming files and directories quickly and safely. Written in Go!

Link

Note

Note

Just fucking code. justfuckingcode.com This is great, beautifully captures a modern backend view of https://motherfuckingwebsite.com/. I honestly resonate with almost all of this. I have found myself in more trouble than help when trying to fully vibe out a project. It never refactors, it leaves it shit everywhere, it…

Note

Note

Note

No docs, no bugs If your library doesn't have any documentation, it can't have any bugs. Documentation specifies what your code is supposed to do. Your tests specify what it actually does. Bugs exist … Simon Willison’s Weblog · simonwillison.net Bugs exist when your test-enforced implementation fails to match the behav…

Note