Episode 6 - Charles Lowell

We’re back! In this episode, Daniel interviews Charles Lowell from Frontside.io, an Austin-based software studio with a company-wide Emacs config and their own package archive! Charles does a lot of JavaScript work and has contributed support for ES6 modules syntax to js2-mode.

Show Notes

Frontmacs, in their own words, is a “package-based, web-centric, customizable, awesome-by-default, acceptance-tested Emacs distribution curated by your friends at Frontside”.

The logic behind having a company-wide Emacs configuration is the benefits of having a shared configuration: this way, every person on the team is able to benefit from the discoveries of others (e.g. the things they bring in from the community). Also, a shared config allows for a low friction for cooperation: when doing code reviwes, everyone knows the bindings, or the installed packages. Another benefit of a shared config is its stability, and that as rough edges are sanded down as time goes on, everybody gets to enjoy those benefits, and thus helps reduce wasting of time (e.g. by 10 people not having to individually solve a particular issue with their setup themselves).

Because Frontmacs is distributed as a package on Frontside’s own package archive, updating Frontmacs doesn’t involve using git (on the surface) and things like having to manually pull the latest changes, rebasing from upstream, or making sure there are no merge conflicts. Instead, you just update the Frontmacs package, as you would with a regular Emacs package, and that will update all its dependecies and update Frontmacs itself. Then the only thing left to do would be to restart Emacs to start using the new update.


Package shoutouts by Charles:

  • Undo Tree: “… replaces Emacs’s undo system with a system that treats undo history as […] a branching tree of changes”; thus letting you recover any past state of a buffer.
  • Buttercup: Behavior-Driven Emacs Lisp Testing