This isn't about defending Swarm, it's about designing systems with clear failure modes and using storage that doesn't pretend to scale magically #homelab
This makes 12 posts in 12 months. 2025 goal met
amf3.github.io/articles/arc...
This isn't about defending Swarm, it's about designing systems with clear failure modes and using storage that doesn't pretend to scale magically #homelab
This makes 12 posts in 12 months. 2025 goal met
amf3.github.io/articles/arc...
www.authelia.com
www.authelia.com
My most-used words in 2025 were:
1. "docker" (12×)
2. "plugin" (11×)
3. "cloudinit" (11×)
4. "router" (8×)
5. "qemu" (8×)
See which words you used the most here: anisota.net/harvest
My most-used words in 2025 were:
1. "docker" (12×)
2. "plugin" (11×)
3. "cloudinit" (11×)
4. "router" (8×)
5. "qemu" (8×)
See which words you used the most here: anisota.net/harvest
Now I'm tempted to try Protobuf to get the compression that I likely don't need.
Now I'm tempted to try Protobuf to get the compression that I likely don't need.
Tonight I realized I can pin the Hugo web framework by using go modules. The pinned Hugo version is ran with "go tool Hugo".
One of those things that became obvious to me once it was obvious. Now for some CI pipeline updates 😐
Tonight I realized I can pin the Hugo web framework by using go modules. The pinned Hugo version is ran with "go tool Hugo".
One of those things that became obvious to me once it was obvious. Now for some CI pipeline updates 😐
bogdanthegeek.github.io/blog/project...
bogdanthegeek.github.io/blog/project...
#Mikrotik CHR, #QEMU, PCI passthrough, qcow2 snapshots, full reproducibility.
Easy rollback. Manage networks like software projects.
Here's how I built it: amf3.github.io/articles/vir...
#Mikrotik CHR, #QEMU, PCI passthrough, qcow2 snapshots, full reproducibility.
Easy rollback. Manage networks like software projects.
Here's how I built it: amf3.github.io/articles/vir...
pci-ids.ucw.cz
How does one even land that kind of gig? Yet another moment where my brain says 🤯.
pci-ids.ucw.cz
How does one even land that kind of gig? Yet another moment where my brain says 🤯.
No more i=5 five times. 🤭 This explains why one might find i := i in older code, a work around. #golang
No more i=5 five times. 🤭 This explains why one might find i := i in older code, a work around. #golang
I build Go CLIs with urfave/cli, how it keeps help and actions
coupled with options, and why I'll use it with future projects.
amf3.github.io/articles/cod...
#golang #cli
I build Go CLIs with urfave/cli, how it keeps help and actions
coupled with options, and why I'll use it with future projects.
amf3.github.io/articles/cod...
#golang #cli
www.dolthub.com/blog/2025-09...
www.dolthub.com/blog/2025-09...
Think Pokémon Go but with real animals.
merlin.allaboutbirds.org
Think Pokémon Go but with real animals.
merlin.allaboutbirds.org
I started with MD5 checksums to find duplicate files in local storage. Then I read modern CPUs have instruction sets for SHA256. Oh but there's also xxhash which is even faster at checksums.😕
#golang output shows md5 is 3x slower than sha256 and 5x slower than xxhash
I started with MD5 checksums to find duplicate files in local storage. Then I read modern CPUs have instruction sets for SHA256. Oh but there's also xxhash which is even faster at checksums.😕
#golang output shows md5 is 3x slower than sha256 and 5x slower than xxhash
github.com/cvilsmeier/g...
Without specifics I wonder if the results are valid. Something to keep in mind for the next Product A is better than B post.
github.com/cvilsmeier/g...
Without specifics I wonder if the results are valid. Something to keep in mind for the next Product A is better than B post.
blog.vmsplice.net/2024/01/key-...
blog.vmsplice.net/2024/01/key-...
1) The “configuration as code” plugin installs plugins and manages users.
2) The “Pipelines as code” plugin manages projects.
Okay, okay, I’ll move it to the next sprint.
1) The “configuration as code” plugin installs plugins and manages users.
2) The “Pipelines as code” plugin manages projects.
Okay, okay, I’ll move it to the next sprint.
Think of it as a personal object store that uses append-only .tar archives called “pails.” It’s fast, inspectable, and scriptable. Great for devs, homelabbers, and archivists.
GitHub: github.com/amf3/tarchive
#Go #OpenAPI #homelab
Think of it as a personal object store that uses append-only .tar archives called “pails.” It’s fast, inspectable, and scriptable. Great for devs, homelabbers, and archivists.
GitHub: github.com/amf3/tarchive
#Go #OpenAPI #homelab
The latest release of oapi-codegen announced a new feature for dealing with optional pointers. #OpenAPI #golang
github.com/oapi-codegen...
The latest release of oapi-codegen announced a new feature for dealing with optional pointers. #OpenAPI #golang
github.com/oapi-codegen...
Examples felt abstract. Until generics saved me from writing a bunch of boilerplate in my unit tests.
Read about it here: amf3.github.io/articles/cod...
#golang #generics #testing
Examples felt abstract. Until generics saved me from writing a bunch of boilerplate in my unit tests.
Read about it here: amf3.github.io/articles/cod...
#golang #generics #testing