Adam Faris
@af9.us
74 followers 270 following 99 posts
Storage Curious | No Cloud, No Problem | Data Infra Fan Writes at https://amf3.github.io
Posts Media Videos Starter Packs
af9.us
In the spirit of writing more, here's a post on how
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
Go CLIs: Creating Subcommands and Flags
Using urfave/cli to create polished CLI applications
amf3.github.io
af9.us
Speaking of GC, there's a thread on r/golang that discusses the new experimental Green Tea GC in Go 1.25. Testing shows its not better but it's not worse.

www.dolthub.com/blog/2025-09...
af9.us
While using the app and walking through the woods today, I found myself paying attention to the bird calls as the app would identify in real time.

It's a great educational tool and could be a fun way to engage the kids when outdoors. It worked on me at least.
af9.us
An interesting idea but traditional IRC servers don't provide chat history for clients that disconnect and reconnect. This is why humans rely on a IRC bouncer (proxy) to replay missed messages. Of course if the proxy goes offline you end up missing messages.
af9.us
Adam Faris @af9.us · Sep 11
With a QEMU article stalled at 80% complete and a tiny utility project waiting to be published to github, I should probably pay attention to this advice.
af9.us
Adam Faris @af9.us · Sep 11
Interesting. QEMU 10.1 supports WASM and can run inside a browser. 🤔

wiki.qemu.org/ChangeLog/10.1
ChangeLog/10.1 - QEMU
wiki.qemu.org
af9.us
Adam Faris @af9.us · Sep 11
Where's the RSS feed? 😀
af9.us
Adam Faris @af9.us · Sep 6
Wow. Awesome reply. Thanks. 😃
af9.us
Adam Faris @af9.us · Sep 6
Basic checksums are fine for this use case. Is there another checksum I should look into using? Thanks.
af9.us
Adam Faris @af9.us · Sep 5
I’m feeling out of the loop.

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
af9.us
Adam Faris @af9.us · Aug 29
I like this #golang comparison of different SQLite drivers. They include test environment specifics, which allows me to replicate the findings.
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 - cvilsmeier/go-sqlite-bench: Benchmarks for Golang SQLite Drivers
Benchmarks for Golang SQLite Drivers. Contribute to cvilsmeier/go-sqlite-bench development by creating an account on GitHub.
github.com
af9.us
Adam Faris @af9.us · Aug 25
Check out the release notes for Go 1.25. They show a new feature that's container aware and sets GOMAXPROCS automatically.
go.dev/blog/contain...
Container-aware GOMAXPROCS - The Go Programming Language
New GOMAXPROCS defaults in Go 1.25 improve behavior in containers.
go.dev
af9.us
Adam Faris @af9.us · Aug 25
I'm using the Instinct2 solar. The garmin is much lighter and battery life is 12-14 days. Large font is a ➕ when looking at the time. It lacks music so I carry my phone in a front pocket. Notifications from phone get pushed to the watch.
af9.us
Adam Faris @af9.us · Aug 11
> Metadata is first-class data in the database
🤯 I thought it was using an external store. Awesome.

Certainly a project to keep an eye on.
af9.us
Adam Faris @af9.us · Aug 11
SeaweedFS would be another to check out if looking at a SlateDB metadata use case.
af9.us
Adam Faris @af9.us · Aug 11
I'm not using it. The abstractions look good but I wasn't happy that it relies on Fuse which requires privileged containers for K8s or Docker. Maybe that's okay.

Using SlateDB for metadata could be fun. With the metadata stored on the S3 store that consumes the metadata. 🐢🐢🐢's all the way down. 😀
af9.us
Adam Faris @af9.us · Aug 9
TBH: I'm not sure how I feel about daily driving a virtualized router. There's added complexity with host OS updates and managing PCI cards with vfio drivers.

Sticking with a known router OS like Mikrotik makes migration to a physical router/device easier. OpenWRT could also work for that purpose.
af9.us
Adam Faris @af9.us · Aug 9
Hi. That's a neat feed feature. Nice work.

No, a Mikrotik image isn't required. Using the tc command with iptables rules, & packet forwarding between interfaces provides a similar result. Linux utils to route packets works as well as commercial products for my usage. It's a good point. Thx 😀
af9.us
Adam Faris @af9.us · Aug 7
Alright, speeds are improving. Results are with a Celeron (G3930 from spare parts) running a #mikrotik VM under #qemu. A dual port PCI card is passed through to Qemu for the NIC. It's still not full download speeds (expecting 750Mbps) but shows that my little Hex-S router is CPU bound.