2022-07 Austin Emacs Meetup

There was another meeting a couple of weeks ago of EmacsATX, the Austin Emacs Meetup group. For this meeting there was no predetermined topic.

#1 was one of the organizers. He told us he no longer works for the City of Austin, and now works for a payment processor.

#2 was the other organizer, and active in the Austin Clojure group.

#3 was one of our developers in OKC.

#4 was a developer in Austin, and also a member of the Austin Clojure group.

#5 was an expat in Japan. This is the first time we had an attendee from overseas. He is a Haskell programmer.

#6 was our other developer in OKC (the professor).

The first topic of conversation was some new things in Emacs 28. There are a lot of new changes. The pace of Emacs development has accelerated in the past few years along with interest in Emacs. A few people on the call were getting into the new built-in project management solution called simply “Project”: see the page on Mastering Emacs (there are a LOT of things listed on this page; Project is more than halfway down) or the GNU site. This can be used as a replacement for Projectile (Github page here, documentation page here). Number 3 has replaced Projectile with Project.

Number 3 has had a finger on Emacs development for quite a while. He said that Bozhidar Batsov approached the FSF about integrating Projectile into Emacs, but they did not get back to him for a couple of years. By the time they did, Projectile had changed and also had accrued more contributors. Mr Batsov did not think that all the contributors would sign their code over to the FSF (or chose not to bother), and that was the end of it. At some point the FSF decided to make their own. Number 3 said this is in line with Crafted Emacs (formerly Rational Emacs): use or enhance what is built-in as much as possible, with using something external as a last resort. He admitted he might be biased, but he said that there is a general trend of moving towards the built-in stuff.

I will have to add looking into Emacs 28 features (like ibuffer and fido) to my ever-expanding to-do list (which of course is in Org mode). There are a few new functions in Emacs 28 that deal with outlines. Since I tend to use M-x commands rather than key chords I will definitely look into those.

I asked #5 and #6 how they learned Emacs (since I am interested in helping evangelize Emacs to newbies). #6 gave a presentation a few months ago, and while he had been using Emacs for two years when he presented, he learned a lot in his first few months. By the time this topic was over, I think almost everyone had given their Emacs origin story and waxed nostaligic for OSes and systems long gone into the ether. I will start with mine.

I worked at a firm doing analytics from 1998 to 2000. All the developers had Sun workstations (I think mine was a SPARCStation, but it might have been an Ultra). So you had to learn Emacs or vi. Someone showed my vi, and while I got the idea of modes, it just seemed stupid to me at the time. It feels like the Unix version of the Microsoft Paper Clip: “I see you are editing text. Do you want the text to actually appear in this file?” I went to one of the people who knew Emacs, and I asked them: “What happens in Emacs when you press the ‘a’ key?” The guy said: “The letter ‘a’ is added to the file wherever the cursor is. Just like almost ever other text editor on the planet.” I told him to show me more Emacs. Later in 2000 I went to Bank Of America, and I had to use Windows. But I did have a PA-RISC workstation under my desk running HP-UX.

Over the years, my Emacs usage waned. I started running Linux on my home machines, but I tended to use JEdit more than Emacs. There was an Emacs group in Austin, but they met at lunchtime. Given how spread out Austin is and how spread out the jobs are, a lunchtime meetup just seems like a bad idea. Growing up near Chicago, the Loop felt like the center of the universe. It had the highest density of jobs in the region. There are jobs throughout the region, but the Loop has a lot more. Even then, a lunchtime meetup would not have gotten a lot of traction. Doing that in Austin just makes no sense at all.

Number 2 took over, and started having meetups in the evenings. It has been blue skies and no blue screens ever since. The first evening meetup was on Thursday, September 22, 2016, at the now-closed Cafe Express (they still have locations in Houston). It was at one of the meetups at Cafe Express that I first heard about ido and smex. Someone asked what happens if two modules have the same keychord. Another member mentioned smex. It changed my Emacs experience. When I learn new modes, I use the M-x function names and not the key chords. Granted, it can make following along a bit cumbersome. Usually the function names describe what they do.

Until I started going to the Emacs meetups, all I really knew were the basic commands for editing, searching, killing and yanking. I did not do much with modes, buffers or dired. I did not know much, but I got a lot of mileage out of what I did know.

I finally ditched JEdit and went all-Emacs outside of work around October/November 2021 when I found out about the Emacs desktop, and how to only use it for one open session and not others.

I do have Emacs installed on my work laptop, even though it is not a standard tool. I would like to work a job where I can be in Emacs all day. I used to keep notes about all sorts of things at work and at home in text files. Now I use Org. One day I googled if it was possible to do outlining in Notepad++. One suggestion is to “use a UDL (User Defined Language) and just have parentheses to do the folding for you.” Using your editor to use parentheses to make your own language. Sounds familiar.

There are a few other suggestions here, here and here. One of those suggestions lead to this post on OutlinerSoftware. They only have 8 topics to a page (as of 2022-07-27 there are 3,760 pages).

I use the outlining feature in Org a lot. I am on Teams calls with our testers at work a lot, and some of them write their scenarios in Notepad. Not Notepad++, but Notepad. I have no idea why. Anyway, they will have a list of preconditions in a run-on sentence on one line. Making these sections in an outline would make them easier to keep track of. I know PowerPoint has soured people on bullet points, but they are good for organizing thoughts. I am reluctant to talk to them about using an editor with outlining features because I have a feeling they would all go to Word. Note to corporate America: Innovation does not mean “Let’s do everything in Excel” or “Let’s do everything in Javascript.”

Number 1 used vi at his first job. Everyone else used Emacs, but he resisted for a long time. He started doing Lisp, Scheme, and started using Emacs for that. He looked into Perl, and when he found out you could run the perl debugger through Emacs he was hooked.

Number 2 used Emacs on and off. He was working at a company that could not get licenses for UltraEdit, so one day he sat down at a cafe with Number 4 and started learning vanilla Emacs.

Number 3 started using Emacs in 1990 on an AIX machine without info files for reference. He switched to MicroEMACS for a while, and eventually got GNU Emacs running on OS/2. He started getting serious about Emacs in 1995, and kept using Emacs wherever he went. For a period he used SlickEdit to configure Emacs. I told him if we had geek points to award that we should give them to him. Most people have never heard of AIX. He might be the first person I have spoken to in a long time who has actually used it.

Number 5 was a vim user for eight years. He found a vim plugin for org-mode and liked it. He decided to try Emacs, but had trouble with key chords, so he uses Evil mode. He started eight months ago, and has been using Emacs every day for about two months (which will be three months by the time I publish this). He prefers Emacs since it is more customizable. He said Emacs and vim are so different he does not know why people lump them together.

Number 6 started two years ago, and committed a year ago to using Emacs everyday. He started with a book, I think he said it was Learning GNU Emacs, and said it was a good overview. He tried Spacemacs, but found having to deal with the extra layer offputting. Then he just went with the default. He said the main thing is to have a reason to use Emacs and weave it into your daily work. I think for him Org mode was the killer app, although at first he tried to do too much and found success by starting over and incorporating Org more slowly into his workflow. Number 6 uses Org, overleaf, Atomic Chrome and a lot of LaTeX.

There was some discussion about keyboards and ergonomics. Number 5 uses evil because Emacs is hard on his wrist. Number 1 has learned to use both control keys instead of just one. I just move my hand an inch. Speed is nice, but it is not the most important thing. Numbers 3 and 5 both tried Dvorak keyboards with Emacs, and both thought it was a train wreck.

We talked about the changes that have been happening in the Emacs community over the past few years. XEmacs came about because some people thought new versions of GNU Emacs were not coming out quickly enough. XEmacs got some traction. I used it for a few years, but the last release was in 2009. There was some turnover in the GMU Emacs leadership, and there have been more frequent releases and improvements to GNU Emacs. Number 3 said he submitted a small patch to both GNU Emacs and XEmacs. GNU Emacs incorporated it without a fuss, but this small change caused a lot of arguments on the XEmacs mailing list. He said it turned him off to XEmacs, and was not surprised that it eventually died.

You’re welcome.

I give people numbers since I do not know if they want their names in this write-up. Think of it as the stoner’s version of the Chatham House Rule. I figured that numbers are a little clearer than “someone said this, and someone else said that, and a third person said something else”. People’s numbers are based on the order they are listed on the call screen, and the same person may be referred to by different numbers in different months.

Image from the Susteren Gospel Book, an 11th or 12th century manuscript housed in Susteren Abby in the Netherlands; image from Wikimedia, assumed to be under public domain.