I’m impressed by niri [1] from YaLTeR [2].
A scrollable-tiling Wayland compositor.
References:
[1]: https://github.com/YaLTeR/niri
[2]: https://github.com/YaLTeR
Today I Learned
Short TIL posts
1852 posts
latest post 2026-05-13
Publishing rhythm
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 [1]
I’m way behind on my notification game and need to pick it up. maybe I’ll look into hcio as well. maybe I’ll look into something that goes straight to signal or just get things working on ntfy. An 80GB log file is massive and the kind of thing id like to see notifications more.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://pype.dev/backups-interrupted-by-full-disk-usage/
[2]: /thoughts/
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 [1]
Taking this as inspiration to do more non-tech on my blog, I’ve branched out into Posts tagged: gaming [2], but need take it to the next step. excited to watch pype.dev evolve as well.
Note
This post is a thought [3]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://pype.dev/queso-notes/
[2]: /tags/gaming/
[3]: /thoughts/
zk [1] by zk-org [2] is a game-changer in its space. Excited to see how it evolves.
A plain text note-taking assistant
References:
[1]: https://github.com/zk-org/zk
[2]: https://github.com/zk-org
If you’re into interesting projects, don’t miss out on alex [1], created by get-alex [2].
Catch insensitive, inconsiderate writing
References:
[1]: https://github.com/get-alex/alex
[2]: https://github.com/get-alex
The work on cbfmt [1] by lukas-reineke [2].
A tool to format codeblocks inside markdown and org documents.
References:
[1]: https://github.com/lukas-reineke/cbfmt
[2]: https://github.com/lukas-reineke
Check out Feel-ix-343 [1] and their project markdown-oxide [2].
PKM Markdown Language Server
References:
[1]: https://github.com/Feel-ix-343
[2]: https://github.com/Feel-ix-343/markdown-oxide
I like hougesen’s [1] project mdsf [2].
Format markdown code blocks using your favorite tools
References:
[1]: https://github.com/hougesen
[2]: https://github.com/hougesen/mdsf
The work on treefmt [1] by numtide [2].
one CLI to format your repo [maintainers=@zimbatm,@brianmcgee]
References:
[1]: https://github.com/numtide/treefmt
[2]: https://github.com/numtide
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")
The ethics of README ads
I’ve been considering accepting sponsorship again for my projects.
Will McGugan · willmcgugan.github.io [1]
I’ve long avoided running ads on my blog for the same reason. For a few months I ran an ad above the fold. It was a “Your Ad Here” kind of thing, and in the messaging I was looking for content relevant to my content, not google driven ads. This resulted in nothing, no hits, not a one. I’m kinda with Will on this one beer money is not worth degrading the project for. I seriously thought some of the big projects with a moderate level of success got a good cut for these sponsorships. Some of the companies are big companies, like how do they even go through meetings and decide who gets beer money without spending more than that in decision making resources. Maybe they have a guy with more autonomy than I would expect.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://willmcgugan.github.io/the-ethics-of-readme-ads/
[2]: /thoughts/
minio/minio - Docker Image
hub.docker.com [1]
Browsing for the minio tag that I have running right now I discovered that you can do minio --version 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 how far behind it is. I really appreciate that the version in the container matches the version inside the container.
It’s not as pretty or flexible as semver, it does not communicate trees of majors and minors, but how often do we continue supporting/patching older majors and minors, in my experience only really big teams or teams with sufficient motivation are doing this.
food for thought.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://hub.docker.com/r/minio/minio/tags?name=RELEASE.2025-04-08
[2]: /thoughts/
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 [1].
unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_DEFAULT_REGION
References:
[1]: /running-aws-cli-commands-with-localstack/
-
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 notice in my tils.
Note
This post is a thought [1]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: /thoughts/
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 [1]
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 # [2]
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. I...
-
This talk about live store really made me think about database transactions in a new way. They are talking about live-store, and the complexity of distributed applications like a notes app with the ability to go offline and continue working. The complexity of resyncing each instance is not simple, conflict resolution accross all the possible installs that may or may not even be online is a really hard problem. They go deep on discussing an event driven paradigm that is driven off of a log of events and how this changes how we deal with databases. Using the event log as the source of truth we can do things like forget about database migrations, we can replay all of the events onto a new database. Its very interesting to rethink in terms of a log system that speaks in terms of understandable events (not table operations) as the source of truth for an application.
Note
This post is a thought [1]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: /thoughts/
External Link
X (formerly Twitter) · x.com [1]
I need to find this podcast, was DHH this animated through the whole thing?
You don’t need a mentor. There’s no secret sauce left inside anyone’s head any more. It’s all been tapped, bottled, tweeted, and shared a million times. Sample some of that, but also guard your ignorance. You’ll lose it soon enough.
It takes work, one on one hand holding is a shortcut. Sometimes one that we need. Sometimes we need to level up quick, hence why your job might pair you up with someone for the first few months, but it is not something you need, you can figure shit out on your own with hard work. These days we have things like gippity to bounce ideas off, and you can generally get the sense of the direction the average of the internet it was trained on. Always add your own experience and make a choice for yourself.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://x.com/dhh/status/1928856582588076171
[2]: /thoughts/
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 [1]
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 know there are so many great alternatives out there for it. I might be looking into some of these options such as garage [2].
Its hard to tell from this article what mino dropped, but luckily for me it seems to be all ui related. I use the UI for debugging/feedback/sometimes learning, but at this point I’ve got good flows for setting up new access keys, buckets, and everything with the cli.
Note
This post is a thought [3]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://selfh.st/weekly/2025-05-30/
[2]: https://garagehq.deuxfleurs.fr/?ref=selfh.st
[3]: /thoughts/
External Link
X (formerly Twitter) · x.com [1]
I suffer hard from NIH, I’m cheap, I like building things, I hate reading the docs, the perfect recipe for some bad NIH. I really like DHH’s take here. If no one builds anything new we get stuck with the same old shit. I think theres a lot of things that as far as my use case is concerned feature complete and needs no more. I would just build with it or on it, but not re-invent. It’s a slippery slope.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://x.com/dhh/status/1928450457262850053
[2]: /thoughts/
feat: add hackernews hits on home page · jimniels/blog@b1a250b
Contribute to jimniels/blog development by creating an account on GitHub.
GitHub · github.com [1]
Jim Nielsen fetches his hacker news ranked articles for his home page.
Note
This post is a thought [2]. It’s a short note that I make
about someone else’s content online #thoughts
References:
[1]: https://github.com/jimniels/blog/commit/b1a250b2357d21e69a58ce3265114e1761fb47f8
[2]: /thoughts/