Live data from Hacker News

Don't “let it crash”, let it heal

zachdaniel.dev

91–92 of 92 posts

Re: Don't “let it crash”, let it heal

#91
post #30

Earlier quoted context omitted.

Let it crash, so that if something goes wrong, it does not do so silently. Let it crash, because a relevant manager will detect it, report it, clean it up, and restart it, without you having to write a line of code for that. Let it crash as soon as possible, so that any problem (like a crash loop) is readily visible. It's very easy to replace arbitrary bits of Erlang code in a running system, without affecting the re…

Are individual agents deployable on their own or does the entire "app" of agents need to be deployed as a single group? If individually deployable, what does this look like from a version control and a CI/CD perspective?

Conceptually, individual subtrees are deployable on their own. In practice, it generally makes sense to mark some subtrees as intended for individual deployment, creating what's known in the BEAM community (Erlang/Elixir/some other) as an "Umbrella app". Your umbrella app launches a tree of sub-apps, which are themselves subtrees. Depending on your view on monorepos, each individual sub-app could be its own repo, or just a subdivision of a single large repo. You basically take the same approach you would with microservices, but your orchestration is built into the language.

Re: Don't “let it crash”, let it heal

#92
post #65

"Let it crash" is a sentence that gets attention. It makes a person want to know more about it, as it sounds controversial and different. "Let it heal" doesn't have that.

I have always felt 'Let it crash' is an unfortunate turn of phrase that gets a lot of negative attention.

A 'crash' in most other language/ecosystem means likely a catastrophic failure of the application, ending in a core dump.

Erlang's error handling is way more nuanced than that blunt phrase indicates.

Post reply on HN