Adam Faris
banner
af9.us
Adam Faris
@af9.us
75 followers 270 following 100 posts
Storage Curious | No Cloud, No Problem | Data Infra Fan Writes at https://amf3.github.io
Posts Media Videos Starter Packs
Earlier this week I downloaded dump1090 to see what's overhead. Talk about great timing to see this post. :)
More like different behavior that created bugs in code.

The post linked by @borkent.bsky.social does a great job explaining the scope change & behavior.

The fix pre 1.22 was to make a copy of the loop variable. I think passing a param to the goroutine would fix it. Or use a go version >=1.22.
Thanks. That post does a great job of explaining the behavior. It also makes sense why the 1.22 release notes didn't have a lot of detail behind the change.

I need to give more attention to content on the go.dev blog. 🙂
TIL Go quietly fixed sharing behavior with for loop variables being used by goroutines. Previous to Go 1.22 each goroutine reused the same loop variable. Now each iteration gets its own copy.

No more i=5 five times. 🤭 This explains why one might find i := i in older code, a work around. #golang
Adam Faris @af9.us · Oct 6
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
Adam Faris @af9.us · Sep 29
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...
Adam Faris @af9.us · Sep 24
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.
Adam Faris @af9.us · Sep 17
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.
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.
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
Adam Faris @af9.us · Sep 11
Where's the RSS feed? 😀
Adam Faris @af9.us · Sep 6
Wow. Awesome reply. Thanks. 😃
Adam Faris @af9.us · Sep 6
Basic checksums are fine for this use case. Is there another checksum I should look into using? Thanks.
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
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
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
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.
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.
Adam Faris @af9.us · Aug 11
SeaweedFS would be another to check out if looking at a SlateDB metadata use case.