One of the first use-cases I found for LLMs back when ChatGPT firstreleased was automating the creation of citations, or rather thetransformations of citations structured in one way into .bib-filesthat can be used to create a wide variety of uniform citations in\(\LaTeX\) documents. LLMs are fantastic for this sort of work, wheresome sort of messily structured data needs to be transformed into someother form that is then useful. As LLMs become cheaper and cheaper itbecomes easier and easier to make data become useful. The benefits ofthis is obvious to the point of it being the main strength of what isperhaps the world’s oldest continuously developed software project;GNU Emacs.Much of software engineering is piping that transforms data from oneform to another, where we can then process it, ingest it, or presentit in some interesting and beneficial way. This is true regardless ofthe underlying nature of that data. In Emacs there are primarily twoforms of this data: lisp code and text. Ardent lisp wizards willobject on the basis that one of the core strengths of lisp is that itdoes not discriminate between lisp as a program qua list ofinstructions and lisp as a data structure due to its simple syntax.1The classic UNIX environment also made use of this compatibility madepossible by a common language of text.Emacs is a lisp interpreter that comes with a text editor and tools toevaluate elisp code written in said editor. This simple basis allowsEmacs to very quickly and easily be extended. While other programs(and even text editors specifically) may offer theoretically similarcapabilities2 through scripting languages and APIs they do not offerthe truly free experience that only a few Emacs-like programs buildtheir experience upon. Most code written in Emacs is not packaged ordistributed anywhere, but is made up of small and opinionated changesand functions that are likely not maintained in any way. This meansthat each Emacs user’s computing experience is personally tailored tohis or hers own preferences.The second of the four freedoms (freedom #1) of free software is the“the freedom to study how the program works, and change it to make itdo what you wish”. In practice this only means access to the sourcecode under a free-software license. But Emacs takes this much further;instead of a merely “negative” freedom (freedom from proprietaryrestrictions) it adopts a positive approach, where the user isdirectly given the tools and documentation3 to change each and everypart of the Emacs source code.Emacs, UNIX, and modern LLMs all make use of the unique strengths oftext. Emacs however goes much further in this regard than the standardUNIX system, and in many regards can be seen as an extension andintensification of it. Tietze pointed out recently how the textualrepresentations of almost all data in Emacs is “completes computing”through the universality of text and primarily the text buffer.If the costs of creating software goes to zero due to continuingadvancements in LLMs it would bring this quality that Emacs has to allsoftware. The restrictions of proprietary software has always been aninvention by monopolistic software companies wishing to add a shackleon what is really just a bunch of abstract logical statements. Thatthis has been maintained is impressive, but it can not do so under theonslaught of code produced by LLMs.Trivially creating quick and simple programs that serve the user isEmacs’ greatest strength, and it is something that will be accessibleto everyone, no matter their experience in software creation. One willbe able to make small little applications that serve yourself, andbecause of its low cost will naturally freely share them with friends,colleagues, and family members. It is, to repeat a often-usedsentiment of mine, a revolution in the field of software development —a dramatic return to the older state of affairs, albeit now aided bythe lessons of the time in between. In this case it is a return to thetimes before “free software”, when specifying that a given softwarewas free to use, share, and modify was not necessary but expected andnormal.To reiterate, vibe coding and LLMs have two great strengths:Easily creating, recreating, and modifying small programs that donot need to be maintained and are tailored for the user’s needs.Formatting roughly structured data into ways that fit the user’sneeds, or writing small scripts that do so.The consequence of these to strengths is a renaissance of freesoftware development where the user become free to construct theircomputing environment however they see fit. “Emacs is a greatoperating system, if only it came with a decent text editor” goes thefamous quip; Emacs is of course not a operating system in the strictsense,4 but it does allow for the almost complete reshaping of one’sinteractions with a computer — being able to replace most otheruse-facing applications. LLMs extend this freedom to outside the frameof Emacs and into almost every part of the software stack.Footnotes: 1 Simple in the sense of this quote by Leonardo da Vinci:A poet knows he has achieved perfection not when there is nothing leftto add, but when there is nothing left to take away.This simplicity does not mean that it is impossible to constructelaborate or complex programs in lisp — in fact it is one of the mostexpressive programming languages. Rather it refers to the basic axiomsinferred from the nature of prefix notation and the structure of theabstract syntax tree itself.2 What matters in theory is in fact not very interesting. Manylanguages and processes are Turing-complete, and could thus be used tocreate any other program, but what actually matters is the ease andmanner of creating such a program.3 Emacs has extensive manuals, but most of all it is its nature asthe “self-documenting editor” that gives it this quality.4 In that it does not facilitate the interaction between softwareand hardware.Tags: emacs technology