Skip to main content


The #chatmail #rust core is the base infrastructure library used by all apps and bots. It contains all networking, encryption, email processing and implements all the relevant IETF email standards. It's a single central development place with which the whole ecosystem of clients and bots can upgrade consistently.

We are constantly trying to remove code, and to cleanup things. That's a must to keep a 8-year long evolved code base agile and adaptable. Key insight: The best code is no code ;)

in reply to Delta Chat

two other things that can't be stressed enough for maintaining development long-term:

- Avoid superflous abstractions. Premature abstractions are the root of all ... complexity. If you have a second and third case, you can introduce an abstraction, but even then: don't over-abstract!

- write tests for everything, especially for the API that you want to guarantee to others. The chatmail core library just passed 1000 automated tests. The users of your API, and their users will thank you.

Delta Chat reshared this.

in reply to Delta Chat

- Write tests with servers together with environment you roll 'em out. Id est, testing configs.
- If your test suites don't run locally on dev machine (vms and illusion of networks - can do in 2025), if you need any cloud to test, you are not done.
This entry was edited (2 weeks ago)
in reply to Delta Chat

But when your abstraction splits out part of the system, allowing richer life to it, while simplifying the rest, then entertain it.
Example, past delta's post talked about goodness and richness that little apps bring, versus monolith-style addition of features in signal, recent announcements. This is a good abstraction, even though many would've walked from it.
Food for thought.
Short haiku/koan doesn't replace wisdom and elaboration, it only highlights it.
This entry was edited (2 weeks ago)