2024-01 Austin Emacs Meeting

There was another meeting a couple of weeks ago of EmacsATX, the Austin Emacs Meetup group. For this month we had Org mode as our predetermined topic, but we did not stick with it very long and moved on to other Emacs topics, and some non-Emacs topics. As always, there were mentions of many modes, packages, technologies and websites, some of which I had never heard of before, and some of this may be of interest to you as well. I was only on for an hour before I had to drop off; hopefully people did not save their bon mots for the period after my departure. This post also includes my opinions and commentary beyond what was discussed at the meeting.

#1 was the organizer.
#2 was not present.
#3 was not present.
#4 was a developer in Austin who is new to Emacs.
#5 was a retired soldier in San Antonio. He mostly used Emacs as a hobby.
#6 was another developer in Austin.
#7 was a former salesman in Austin who used Emacs for his startup.

Here is a list of the modes and packages that were mentioned (I will not list the big ones here, like Org, Doom, Spacemacs):

  • Eglot
  • LSP
  • Tree-sitter
  • Emacs Lisp

Here are the non-Emacs topics that came up:

  • YAML
  • Austin, and who can attend the group

I was expecting more people for our first meeting of 2024, but not too many people showed up. There were also some technical issues. A few people had to log off and come back on again, and one person had to call in via their phone. At one point #1 had to try a different microphone. His first one was too soft, but with his second one there was a bit of an echo bit of an echo.

I mentioned my post on Org commands, but the Org topic sputtered out quickly. I wrote it so I would have something to contribute.

#4 asked if there was a way to have the Org headings include her name, the date and possibly the name of the file automatically. I made a function that populates my Org headings. #6 suggested C-c C-e # <Option>, which can add different headers to an Org file. C-c C-e is the function org-export-dispatch. The pound sign is the option for ‘Insert template’. The options I get when I select it are:

  • default
  • odt
  • latex
  • icalender
  • html
  • ascii

I think “default” was the closest to what #4 was asking for. I am sure there is a way to customize it.

#5 asked if anyone had watched the latest EmacsConf. None of us had gotten around to it yet. I wish our professor from OKC was there, since he is a three-time speaker. #5 liked the presentation about a game written in Emacs Lisp to help people learn Emacs (presentation here, Github repo here).

I gave an update on things I have been doing with Emacs. I build Emacs 29 from source. I had to install a lot of packages. I use Pop!_OS from System 76, which is based on the latest LTS from Ubuntu. Emacs 29 won’t be available for several months, and I did not want to wait. I am looking to get into Golang and/or Elixir, and a lot of the local developers who use these languages use MS Code, which I would prefer to avoid. I wanted to get Tree-sitter and LSP working for Golang. Yes, I know who invented LSP, but if it allows me to not use MS code (or any IDE) than I am willing to make this one compromise.

I downloaded Goland by Jetbrains as a backup. A few people at the local Golang meetup raved about it, it has good traction in the Golang community per the latest survey, and it is only $100/year for an individual. I do like using free tools, but somewhere (HN, Reddit or Slashdot would be good guesses) I read a comment that developers can be too stingy with their money. We make a lot, so $100/year is not too much. If you are going to call yourself a professional, you should be willing to pay some money once in a while. At the very least, I can keep it in my back pocket until I can do everything I need to do in Emacs. I have used the Community version of IntelliJ, and I like it better than Eclipse. Even better, the price goes down for three years, and they have a perpetual fallback license. Some people seem to hate it (see HN comments here and here), but to me it looks like a good deal. Granted, at some point it would become incompatible with either the OS, the hardware, or perhaps Golang itself, but it’s not a bad deal in a world of enshittification.

Note: “enshittification” is the American Dialect Society’s Word of the Year; maybe Cory Doctorow doesn’t have enough “rizz” for Oxford University Press.

On the other hand, there is something to be said for an open source product that no vendor can take away from you, or raise the price of.

I tried to run an example project I made (Codeberg link here, posts on this blog here and here). I could get completion working in Goland, but when I tried enabling eglot, I got an error message that started with: “You are outside of a module and outside of $GOPATH/src. If you are using modules, please open your editor to a directory in your module.” I did some Googling, and every result was either several years old, or said that you don’t need to worry about $GOPATH anymore. I looked at a few Golang projects (including Grule-Rule-Engine) and I noticed the *.go files all started with capital letters, and mine started with lower-case letters. I looked at the Goland style guide, and I did not see anything covering this. I changed my files to be camel case, and the project worked in Emacs.

#6 was having issues getting YAML to work with LSP in Emacs. Per this LSP Mode site, doing LSP with YAML requires NPM. I see npm install and I move on.

I do not like dealing with certain technologies like Windows or Javascript that when you ask people why they use them, the answer is: Because everybody else uses them. That is a terrible reason. It is like a snake eating its own tail: Everybody uses it because everybody else uses it, but nobody actually chose to use it. One issue with this line of reasoning is: A big chunk of “everybody else” is people who are too lazy or too stupid to look for an alternative.

I think we should use technology that you can justify on its own terms.

  • Emacs: Open source, powerful, customizable
  • C/C++: Close to metal, fast
  • Java: Multiple platform immplementations, memory management, threads, data structures
  • Golang: Memory management, fast compilation, threads, produces binaries
  • Erlang: Reliable, scalable, threading, recoverability

Not “everybody else uses it”, “it was there on the machine”, “it’s all we know”, “that’s what the vendor told us to do.” I am tired of that. I am tired of jobs where I am treated like a dog: I am expected to just eat whatever is put in front of me.

#4 wants to learn Emacs Lisp. I suggested the introduction book first, and use the reference manual as you need it. #5 suggested local AI. I have tried a few local AI projects, and while I could get them to work, they were very slow. Someone suggested Stack Overflow for learning.

#1 suggested using the Emacs Configuration Generator to make a config. I am still using my config. It worked pretty well when I built Emacs 29. I tried Prelude on Emacs 29 and Emacs displyed a lot of warnings in a split window. The maintainer is aware of it, but he also wants to support Emacs 27 and 28. I think Prelude is a good config for both beginners and experienced Emacs users.

We spent some time talking to #7. It was his first meeting. He lives in Austin, and considers himself an Emacs hobbyist. He was in sales, and left his job and learned some Python and Javascript to work on his startup. He is not getting the traction he was hoping for. I mentioned Capital Factory, and he had not heard of it. He said he would look into it. CF is a co-working space, and they also connect investors, startups, and employees. A few meetups are held there, like the Austin Elixir Meetup. EmacsATX was in Capital Factory for a while before it went online. So all of us in Austin spent some time talking about locations throughout Austin.

#4 plans on leaving Austin in a few years due to the rising heat. She asked if people outside of Austin would be welcome to attend EmacsATX. We told her as long as you are pro-Emacs you are welcome. We have had people in other parts of Texas, other states, even other continents. I also got a comment on a recent post asking if there is a Houston Emacs meetup. As far as I know there are not too many in the USA now. There is one in the SF Bay area. I think the NYC Emacs meetup is on hiatus.

WRT what continents we have attendees from, I think we have almost all of them (excluding Antactica). Here is the EmacsATX Geography Scorecard:

Continent Meeting
Asia 2022-07
Australia 2023-04
Europe 2022-09
South America 2023-06

We have a regular attendee who was born in Africa, but that will not count towards us achieving our goal of global reach.

#1 might talk about Org tables or LSP at the next meeting. Emacs users from the world over are welcome to attend.

This post was created in Emacs with Org Mode and Love. You’re welcome. And stop looking at your stupid phone all the time.

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”. Plus it gives participants some deniability. Most 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. A few regulars have regular numbers.

I am not the official spokesperson for the group. I just got into the habit of summarizing the meetings every month, and adding my own opinions about things. The participants may remember things differently, and may disagree with opinions expressed in this post. Nothing should be construed as views held by anyone’s employers past, present or future. That said, if you like something in this post, I will take credit; for things you don’t like, blame somebody else.

Image from the Morozovskoe Gospels, a 15th-century manuscript housed in the Moscow Kremlin Museums; image assumed allowed under public domain.

2 thoughts on “2024-01 Austin Emacs Meeting”

Comments are closed.