ENGINEERING 184 upvotes 2020

TamaGo – bare metal Go for ARM SoCs

184 pts
Hacker News Signal
2020 · Shared by @dgellow
TamaGo – bare metal Go for ARM SoCs by @dgellow

Retrospective Overview & Key Insights

Distilled reflections, business mechanics, and tactical takeaways:

In this technical retrospective (2020), @dgellow shares practical architectural lessons learned from running, scaling, or migrating production software under lean constraints.

Core Principles for Independent Builders:
1
Defaulting to simpler architectures (such as monolithic frameworks, SQLite, or managed VPS) prevents early engineering bankruptcy.
2
Evaluating true compute and egress costs reveals that high cloud bills can often be slashed by 80%+ through judicious re-platforming.
3
Code you write at 2 AM as a solo engineer must be easy to debug six months later without complex microservice dependencies.
Community Debate Themes:

HN engineers debated the tradeoffs between cloud convenience and raw server economics, database indexing strategies, and resisting premature architectural complexity.

Founder's Discussion Replies (@dgellow)

Direct clarifications and follow-up comments shared by the author during the live discussion:

OP @dgellow Original Author

This blog article from February of this year gives some context: https://labs.f-secure.com/blog/tamago/ ↗

TamaGo reduces the attack surface of embedded systems firmware by removing any run time dependency on C code and inherently complex Operating Systems.
It does so with minimal changes to the Go run time and a set of packages to provide drivers for supported boards.

Community Discussions & Critical Reviews

Key perspectives, counter-arguments, and peer founder insights debated on Hacker News (28 total discussions):

JI @jiveturkey Peer Contributor
PE @perbu Peer Contributor

Last year I discovered TinyGo (tinygo.org). Looking at the list of supported hardware I see quite a few ARM SoCs there. I also believe Google supports the TinyGo project in some shape or form.

So why does TamaGo exists? (No snark, just curious)

AR @aronpye Peer Contributor

I don’t really see the application for bare metal Go. If you’re creating a bare metal application you’re most likely doing it in order to achieve real time computation, something which a garbage collected language can’t offer.

DA @dastx Peer Contributor

Could this potentially be used to compile something like k8s (obv with a custom container engine) so that you could run k8s right on a SoC and no OS getting in your way?

HISTORICAL ERA Pandemic Bubble (2020–2022)
COMMUNITY SCORE 184 points
TOTAL DISCUSSIONS 28 comments
TOPICS & TECH STACK: