This chapter highlights the significance of maintaining personal ELPA archives instead of forking dot files to minimize merge conflicts. The speakers share their experiences and contemplate creating instructional content for others while balancing personal notes and community contributions.
00:00
Transcript
chevron_right
Play full episode
chevron_right
Transcript
Episode notes
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.
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.
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.