ENGINEERING ★ 203 upvotes 2020

Bare metal Smalltalk-80 port to the Raspberry Pi

Retrospective Overview & Key Insights

Distilled analysis of the business dynamics, operational challenges, and strategic takeaways:

In this technical retrospective (2020), @salgernon 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 (@salgernon)

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

OP @salgernon Original Author
2020

"Past" submission didn't find anything, but the author had an "Ask HN" the other day: https://news.ycombinator.com/item?id=23806323

Community Discussions & Critical Reviews

High-signal perspectives, counter-arguments, and peer founder insights debated on Hacker News (63 total discussions):

EN @endlessvoid94 Peer Contributor

This is so cool.

We know that smalltalk message passing was inspired by biology, and the ultimate design vision was for objects to be ephemeral machines themselves.

Would it be possible to create a farm of Pis, where some objects were on some subset of them, and some objects on another? Even a simplistic example with two Pis, with the object space split between them? Can we use the network to perform language-level message passing?

ES @esfandia Peer Contributor

Very neat! How much work would it be to write ROS bindings so you could control robots easily with it? Googling around, I found one team that has done it with Pharo: http://car.imt-lille-douai.fr/category/software/pharos/

JO @johndoe0815 Peer Contributor

Author here - happy to answer your questions...

Beware, there's a bug on ARM11-based Raspberry Pis (BCM2835 on Pi 1/Zero/Zero W and CM1) that crashes the VM when executing drawing functions. I'm currently investigating the problem.

7T @7thaccount Peer Contributor

Seems like a neat idea. I've always wanted a tiny LispOS or SmalltalkOS that I could carry around and use on a Pi. I just wish it would also have the modern necessities like web browser...etc.

SL @slobiwan Peer Contributor

I love the idea of bare-metal ports to the Pi. I saw snakeware posted here not too long ago. Are there other examples? ColorForth would be interesting as well

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