Blain Smith
blainsmith.com · Personal blog · on HN since 2013
Blain Smith, a software developer, writes blunt personal posts on Go, software practices, and plain-text tools.
What HN saysHN commenters quote his line about not shipping distributed systems when a feature will do, while another says his Go post is really arguing Rust is better.
15HN people shared it
3linked it in comments
20stories submitted
288story points
3 months agolast shared
2013people per year2026
Most-shared posts
- 1Just Fucking Use Go3 people · 53 points · first shared 2026 · 20 comments on HN
- 2Humanities in the Machine2 people · 2 points · first shared 2026 · discussion on HN
- 3The Wheels We Keep Reinventing2 people · 2 points · first shared 2026 · discussion on HN
- 4Plain Text Protocols1 people · 194 points · first shared 2021 · 171 comments on HN
- 5Show HN: paleorecipes.io: For Geeks, By Geeks1 people · 6 points · first shared 2013 · 4 comments on HN
- 6Read the Fucking Manual1 people · 5 points · first shared 2025 · 1 comments on HN
- 7Fuck Your Hustle (2017)1 people · 5 points · first shared 2022 · discussion on HN
- 8What I Don't Care About in Software1 people · 4 points · first shared 2025 · 2 comments on HN
- 9Auto-Generating an OpenAPI Specification for gRPC and gRPC Gateway1 people · 3 points · first shared 2022 · discussion on HN
- 10I Write HTTP Servers1 people · 3 points · first shared 2025 · discussion on HN
- 11Year 5 School Bachelor's Degree (2020)1 people · 2 points · first shared 2021 · discussion on HN
- 12Signing JWTs with Go's crypto/ed255191 people · 2 points · first shared 2020 · discussion on HN
- 13Easy Profiling Go Benchmark Tests with Bash1 people · 2 points · first shared 2021 · discussion on HN
- 14Tracing HTTP Requests with Go's net/HTTP/httptrace1 people · 1 points · first shared 2026 · discussion on HN
- 1510th Person1 people · 1 points · first shared 2026 · discussion on HN
What HN people wrote when they linked it
senko · 2026-05-11
I love this line:
> Stop shipping distributed systems when you meant to ship a feature.
But not in the contex the author meant.
Many people don't realize that when you have a frontend, a backend (several instances, for failover/scaling), a (separate) database, maybe some object store -- you have a distributed system.
A recent article[0] touched on that, although most HN commenters[1] latched on the "go" part. But there's something to avoiding rube goldberg machines where we don't need them.
[0] https://blainsmith.com/articles/just-fucking-use-go/
[1] https://news.ycombinator.com/item?id=48062997
denysvitali · 2026-05-25
The article seems to be just a way to say "Rust is better" - and it fails to do so by spreading misinformation such as the channels part (https://corrode.dev/learn/migration-guides/go-to-rust/#channels) or making a fair comparison of pprof vs Rust's flamegraph.
It also skips entirely over debugging (delve vs gdb), IDE support, ecosystem (why the hell does Rust have N async runtimes?!), statically linking and so on.
A comparison between the performance of RLS / rust-analyzer (painfully slow) and gopls would be enough to kill the whole argument about developer happiness and productivity.
It even passes traits as a "reason to switch" to Rust - where in fact it would probably be a reason (IMHO) not to use it (together with lifetimes).
I think both languages are amazing, so a migration Go -> Rust (or Rust -> Go) makes no sense most of the time.
I've written code in both for a while now, so I know the pain and advantages of both.
For example, Go sucks at microcontroller stuff - in fact it's not even Go officially (see my presentation about porting "Go" to an ESP32-S3 [1]) - whereas Rust is amazing and even has a strong project behind (https://esp.rs) and amazing tooling (probe-rs & co).
What's also not addressed here is the Go ecosystem. The Go packages are one `go mod add` away (pkgs.go.dev) and the module owner guarantees v1 backwards compatibility for the whole lifetime of the module. This means that, no matter what happens, your dependencies will always be up-to-date…
blainsmith · 2026-01-14