I learned to today that setting MEMORY on your minecraft server causes the
JVM to egregiously allocate all of that memory. Not setting it causes slow
downs and potential crashes, but setting INIT_MEMORY and MAX_MEMORY gives
us the best of both worlds. It is allowed to use more, but does not gobble it
all up on startup.
In this economy we need to save all the memory we can!
Here is a non-working snippet for a minecraft server deployment in kubernetes.
containers:
- name: dungeon
image: itzg/minecraft-server
env:
- name: EULA
value: "true"
- name: INIT_MEMORY
value: "512M"
- name: MAX_MEMORY
value: "3G"
and in docker compose
dungeon:
image: itzg/minecraft-server
environment:
EULA: "true"
INIT_MEMORY: "512M"
MAX_MEMORY: "3G"
GitHub Stars
GitHub stars posts
1859 posts
latest post 2026-05-24
Publishing rhythm
-
I did not realize all the places to be considered as AI water usage. Hank goes deep highlighting all of the sources he is aware of, most reports leave off a lot of these sources, some reports go maybe too far adding sources that may not make sense depending on the question you are asking.
As someone that runs computers with gpus in their house, and watching LTT make AIO installs on GPUs Iāve wondered what would AI use water for, now I understand that its a lot. No where near agriculture, but a lot.
Unlike running a gpu in your house, potentially with a closed loop AIO, data centers are filled with hardware making heat and it all must go somewhere. Current technology has this done with evaporative cooling, i.e. its not a closed loop, the water goes into the sky.
He goes on to point out that its not just the data center, using water, but also chip fab and power plants.
Something I hadnāt put a lot of thought into is the type of water. While a lot of agriculture and power applications do not use municipal water, a lot of data centers do, putting excess strain on water treatment.
Something I find interesting is that Altman is doing the same thing here that he does on his fin...
Notes ā 05:09 Tue 9 Dec 2025
Notes ā 05:09 Tue 9 Dec 2025
dbushell.com Ā· dbushell.com [1]
Age verification hitting bluesky?? At least its not yet requiring your govt issued id or anything, but stepping that direction. I donāt know how I feel about age checks, does it actually protect kids when parents arenāt involved? I canāt say anything there, but it really does feel like its about ready to hurt the rest of us, requiring us to whip out ids and personal data for anything done online. This is a real problem that is hard to solve, and reasons why it has not been solved yet.
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://dbushell.com/notes/2025-12-09T05:09Z/
[2]: /thoughts/
Deprecations via warnings donāt work for Python libraries
Seth Larson reports that urllib3 2.6.0 released on the 5th of December and finally removed the HTTPResponse.getheaders() and HTTPResponse.getheader(name, default) methods, which have been marked as...
Simon Willisonās Weblog Ā· simonwillison.net [1]
Deprecation warnings are so easy to miss, ignore, become numb to. Creating tools and processes to catch and address these issues is important. Iām surprised such big projects let deprecations just hang around for years.
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://simonwillison.net/2025/Dec/9/deprecations-via-warnings/#atom-everything
[2]: /thoughts/
A quote from Claude
I found the problem and it's really bad. Looking at your log, here's the catastrophic command that was run: rm -rf tests/ patches/ plan/ ~/ See that ~/ at the ā¦
Simon Willisonās Weblog Ā· simonwillison.net [1]
damn this is a rough one. A users entire home directory removed by claude code from an rm command.
rm -rf tests/ patches/ plan/ ~/
Reading the first half of that command it LGTM. If you had approved rm, you are hosed. If this is inside a larger script its running, you really gotta read close. This one still feels pretty obvious, but I can imagine some bash doing some nasty things I miss if I read it and understand it let alone glance at it.
Iāll take this as a reminder that I really need to be paying full-ass attention to agents, and moving towards a better sandbox for them, something in docker, maybe something like distrobox that is a magic wrapper over podman that just gives you the things you need for what it does. Something that starts up with access to start web servers, run agentic cli of choice, see project, git [2] commit. It feels like the right thing has a lot of what distrobox does, but distrobox has too much and would be prone to this us...
OG is short for open graph, a set of standard meta tags that are used for
social media sharing. This is what tells other websites how to describe and
display your site when shared on social media, text messages, or discord.
I found snow-fall component from
zachleat [1], and its beautiful⦠to
me. I like the way it looks, its simple and whimsical.
Install # [2]
There is an npm package <a href="https://zachleat.com" class="mention" data-name="Zach Leatherman" data-bio="A post by Zach Leatherman (zachleat)" data-avatar="https://www.zachleat.com/og/opengraph-default.png" data-handle="@zachleat">@zachleat</a>/snow-fall if thatās your thing. I like
vendoring in small things like this.
curl -o static/snow-fall.js https://raw.githubusercontent.com/zachleat/snow-fall/refs/heads/main/snow-fall.js
I generally save it in my justfile so that I remember how I got it and how to
updateā¦. yaya I could use npm, but I donāt for no build sites.
get-snowfall:
curl -o static/snow-fall.js https://raw.githubusercontent.com/zachleat/snow-fall/refs/heads/main/snow-fall.js
Usage # [3]
Now add the component to your page.
<!-- This belongs somewhere inside <head> -->
<script type="module" src="snow-fall.js"></script> <!-- Adjust the src to your path -->
<!-- This belongs somewhere inside <body> -->
<!-- Anything before will be below the snow. -->
<snow-fall></snow-fall>
<!-- Anything after will show above the snow. -->
...
Today I learned an important lesson that you should periodically check on your
kubeconfigs expiration date. Itās easy to do. You can ask for the
client-certificate-data from your kubeconfig, decode it, and use openssl to get
the expiration date.
kubectl config view --raw -o jsonpath='{.users[0].user.client-certificate-data}' \
| base64 -d 2>/dev/null \
| openssl x509 -noout -dates
Note
This will only work for the first user, if you have more than one user or
context defined in your kubeconfig you will need to adjust.
-
This looks like a really good low cost option for some workholding. There is never a shortage of workholding in the shop and everything has a place. Having something low cost that you can have a bunch of makes a lot of sense. Maybe you still need a super scucum unit for really clamping the shit out of something, but this easily covers most use cases in a garage workshop. I want to build it.
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/
-
Mooreās Law is Dead pitches a pretty ingenious sku for the new gabecube aka steam machine. I fully support repairability and ewaste reduction. most of these components have not had MAJOR improvements in years, hence his channel name. There is a possibility here that Valve could ship with their unique hardware, (apu, psu, case, ports, networking) and let you bring your own ssd and ram from an old device that you might not use anymore. I love this idea. At the same time it feels like entering the star wars universe where there are no more new manufacturing and everything is cobbled together from old hardware made long ago.
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/
When using two GitHub accounts the gh cli gives very easy gh auth switch workflow from the cli.
from the docs
gh auth switch āhelp
Switch the active account for a GitHub host.
This command changes the authentication configuration that will
be used when running commands targeting the specified GitHub host.
If the specified host has two accounts, the active account will be switched
automatically. If there are more than two accounts, disambiguation will be
required either through the --user flag or an interactive prompt.
# list accounts
gh auth status
# switch accounds (interactive if more than 2, i've never seen this personally)
gh auth switch
Check out basecamp [1] and their project fizzy [2].
Kanban as it should be. Not as it has been.
References:
[1]: https://github.com/basecamp
[2]: https://github.com/basecamp/fizzy
-
What a heart breaking video to listen to. Iām trying to do a better job of being positive right now. Iām trying to look at the world in what I have control over (not much more than my attitude about it). AI is killing so much right now Iām trying to look at it as the good tools the engineers made it to be. Ownership is dying around every goddamn corner. Hats off to Edison, this guy gets it. We need more companies like this taking a stand for the average person who wants to make it out there.
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/
-
What a great campfire story Casey stumbled into. Whether any of this is true few will ever know, but its very reasonable that a race condition and a stalled job to apply configuration caused by someone who left the company 10 years ago caused an outage. I find it hilarious that they call this guy he answers, yup I still know the password, but how do I know youāre legit, Iām not just handing out the password. Casey did a stand up job telling this story.
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/
-
Linus is Techbrophobic [1] like the rest of us. This is such an unexpectedly mild take from him. I expected some threat to the mother of the vibe coder, but he gave a pretty great middle of the road take. The industry sucks, it smells off, we know a lot wrong with it, it feels like theres a lot more wrong than we know. But the tools that its making are really good when used in the right ways. They are not a replacement for anything, they are assistive. They can lift someone from not knowing how to code to making a small webapp for their use. Someone who wants to write backend and give them a decent front end, someone who whats to write front end and give them a decent backend.
Great take from someone with more experience than most can ever dream of having, worth a listen.
Note
This post is a thought [2]. Itās a short note that I make
about someone elseās content online #thoughts
References:
[1]: /techbrophobic/
[2]: /thoughts/
gpus are awesome [1] and I need one for Bambu Studio to be usable in a
distrobox. Adding the --nvidia flag to distrobox create bind mounts the
nvidia /dev/ devices and sets up the necessary environment variables. Once
we are in there are a couple of packages to install to make it work.
distrobox create --name bambu-studio --image archlinux:latest --nvidia
distrobox enter bambu-studio
sudo pacman -S nvidia-utils lib32-nvidia-utils vulkan-icd-loader
nvidia-smi
glxinfo | gprep OpenGL
sudo pacman -Syu --needed base-devel git
git clone https://aur.archlinux.org/paru-bin.git
cd paru-bin
makepkg -si
paru -S bambustudio-bin
bambu-studio
distrobox-export --app bambu-studio
References:
[1]: /gpus-are-awesome/
Check out garbage-day.nvim [1] by Zeioth [2]. Itās a well-crafted project with great potential.
Garbage collector that stops inactive LSP clients to free RAM
References:
[1]: https://github.com/Zeioth/garbage-day.nvim
[2]: https://github.com/Zeioth
snow-fall Web Componentāzachleat.com
A post by Zach Leatherman (zachleat)
Zach Leatherman Ā· zachleat.com [1]
This is a very fun way to add some whimsy to your site, added it to mine immediately when I saw it. This is what digital gardens are for, Fun, entertainment, and self-exxpression.
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://www.zachleat.com/web/snow-fall/
[2]: /thoughts/
-
This ball vise Idea is incredible and I want one. Its a heavy workholding unit that can accept a variety of tools and manipulate things to a lot of angles while working on them. This looks really good for painting miniatures soldering or generally working on small 3d printed parts that I do.
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/
The k3s system-upgrade controller is a fantastic tool for upgrading k3s
automatically. It has done a fantastic job for me every time Iāve used it.
Today I ran it on a cluster that needed to upgrade several minors and I
learned that the controller does not pick up on changes to the channel url if
you change from minor to minor.
The solution I came up with was to name the plan with the version it supports.
Then on each patch upgrade, change both the plan name and the channel. I use
gitops with argocd, it automcatically cleaned up old plans, created new plans,
and the system-upgrade-controller picked up the plan and started applying
immediately.
# Server plan
apiVersion: upgrade.cattle.io/v1
kind: Plan
metadata:
name: server-plan-v1.33 # <- This is important if you want to change the channel name
namespace: system-upgrade
spec:
concurrency: 1
cordon: true
nodeSelector:
matchExpressions:
- key: node-role.kubernetes.io/control-plane
operator: In
values:
- "true"
serviceAccountName: system-upgrade
upgrade:
image: rancher/k3s-upgrade
channel: https://update.k3s.io/v1-release/channels/v1.33
---
# Agent plan
apiVersion: upgrade.cattle.io/v1
kind: Plan
metadata:
name: age...