There was another meeting a couple of weeks ago of EmacsATX, the Austin Emacs Meetup group. For this month we had no predetermined topic. However, as always, there was mention of new modes, packages, technologies and websites that I had never heard of, and some of this may be of interest to you as well.
#1 was one of the organizers, former employee of the City of Austin.
#2 was a developer near Dallas.
#3 was again a no-show.
#4 was a developer from Europe now living in Australia.
#5 was a developer in Seattle.
#6 was a hardware designer in north Texas near Dallas.
#7 was our professor in Oklahoma City.
Someone in South America RSVP’d, but they did not show up. If they did, we would only need someone from Africa to complete our list of Continents That Have Attended.
In a change to the format, here is a list of the modes and packages that were mentioned (I will not list the big ones here, like Org, Doom, Spacemacs; nevertheless, it’s a smörgåsbord):
- The tech scene in Australia
- AI (of course)
- Vim (yuk!) 🤮
- Browsers as generic interfaces
I asked #4 about the tech industry in Australia. He has only been in “Straya” for a year; before he was in Europe, and he works remotely with a lot of US people and does not have too many Australian co-workers. Australia has a reputation for not being on the cutting edge of technology. He heard there is Clojure at Qantas. So now the sentence “Qantas never crashed” has two meanings.
#4 started Emacs 8 years ago, jumping from Emacs to Vim, but has only been serious about Emacs for 3 years. He tried Spacemacs and Doom, and now has his own config.
#1 was a hard-core vim user forever, in 2005 got into learning Lisp and Scheme and Emacs was only option that worked well. He was using Perl back then, and when he found out he can run the Perl debugger in Emacs he was hooked.
#6 uses evil mode, which helped him transition from Vim. He and the Vim refugees talked about a few things they like about Vim over Emacs. They said Vim keybindings are easier on your hands than Emacs, especially the pinky. They talked about the “leader key” (which I guess allows you to use customized shortcuts in Vim). Emacs is hard on my pinky; now I try to move my hand when I need to. Speed is nice, but it is not the main point. The ex-Vimmers mentioned a few modes they like: general.el (which helps you define custom key-bindings) and God mode (to reduce RSI by removing need for modifier keys). #2 liked modality in Vim. There was too much pro-Vim talk for me. Bad-mouthing Vim is part of this group’s raison d’être. I do not remember the full context, but at one point per my notes #2 said “Vim made him hate himself”. Works for me. WRT which editor is better: Emacs can emulate Vim, but the reverse is not true.
#2 demonstrated putting accents and tics for letters. He used the term “digraphs”, which is combining letters two letters to make a sound. What he showed was how to do diacritics in Emacs. Someone noticed the tab bar, and #2 talked about that for a few minutes (article here, page in Emacs documentation here). He demonstrated diacritics with élan, makes him part of the Emacs élite. [Note 1]
Then there was another demo of ChatGPT in Emacs. I think #2 was using ChatGPT.el. He made a query to ChatGPT, and put the output into an org file template that he exported to HTML. He also used SerpApi, to add more links to his pages and reports. SerpApi is a freemium service that offers an API that queries search engines and can be used to integrate search into apps. I did not find an Emacs package that integrates with SerpApi. #5 said the power of Emacs and AI is in the outputs and doing something with it.
Public service announcement: I tried a free alternative called “DerpApi”. Totally not worth your time.
ChatGPT said there are Emacs meetups in SF, Portland, Los Angeles and Seattle. As far as I know, there is only one in San Francisco and not the other cities. When an AI halluncinates, we should call it ElChapoGPT.
#6 mentioned Auto-GPT. It resends a prompt over and over again to ChatGPT until it looks like monkeys wrote Shakespeare. The author of Auto-GPT told Auto-GPT to improve itself, and it did.
Narrator: That developer was never seen or heard from again.
Then it was on to Org. The software that changes your life, that manages your life, that is your life. A couple of people asked how to learn more about Org. Two things that were mentioned were Rainer Koenig’s Udemy course, and his playlist on YouTube. I learned from the course. #2 said he learned by making simple to-do lists and learning more things as he needed them. #6 started his Org journey while he was sidelined with an ear infection. He was bored, and started going down different rabbit holes on YouTube (is that redundant?). He thinks what made him want to take the plunge was a video by EmacsNYC. They have a few videos about Org mode listed on their site.
Many of us on the call live in Org. I do not like using other editors or even Emacs to write ordinary text files. I like being able to break things into sections, and collapse what I do not need. #2 likes using Org-roam to get a graph of his notes (site here, Github repo here). He demonstrated it in the past. It makes tag clouds. #2 said it makes sense to him to think about his Org files by using terms, phrases and concepts, not dates. If you do like thinking of your life in terms of dates, you can use Memacs. I am not clear why they picked February 14th 2007. It has some components in Python that are used to fetch the data and convert to Org format [Note 2].
Someone shared a link to Semantic Search for Org roam: the author used an LLM to represent their Org notes. There was talk of org-habit, a built-in Org feature that enables you to use Org to track your habits. The statuses are different colors based on whether or not you completed your task early, on time, or late (source here, page on Emacs manual here, page on Org site here). So now you can use Org to color-shame yourself.
A few other Org related packages were mentioned. Someone mentioned Org Real, which per the README enables you to “Keep track of real things as org-mode links” (Reddit post here, Gitlab link here, Elpa link here). I have spent just a minute looking at this, so I am not sure I get the concept; I think the author said it is a work in progress. Stay tuned.
You can search your Org files with org-ql (Github page here). I will add this to my voluminous to-do list.
Another one that looks interesting is Org Edna (Savannah page here, documentation here, source repo here). This is to “Extensible Dependencies ‘N’ Actions for Emacs Org Mode Tasks”.
#5 mentioned using Org and Reveal.js to make presentations. There is a page on the Org site about presentations here. There is Org-Reveal (Github page here), and a fork called org-re-reveal (Gitlab page here, web page here).
A few mentioned other programs that tried to emulate Org. Only Emacs does it all. I was going to go through a list I had of other apps that work with the Org format, but why should I? If it’s not Emacs, it’s crap.
#4 is finding that Emacs is replacing more and more applications for him. Many people have gone through this phenomenon as well. The advantages:
- You don’t have to switch focus.
- You can use same keystrokes.
- You can add key-bindings.
- PDF viewer will match colors of your theme. (I will have to look into viewing PDF files in Emacs; this is probably one of the things that cannot be done if you start Emacs with “–no-window-system” as I do).
As the internet wraiths wrote: “Linux is the init system I use to boot into Emacs.”
The conversation shifted to AI, and how it would affect jobs. I don’t think it will take our jobs or destroy us, but it will change things. It is the end of an era, a sort of fin de siècle of our . AI will not take your job; it will just take the parts you like and leave you with the parts you do not. I stated that as supporters of Emacs and open source, we should look into alternatives to OpenAI and ChatGPT (and although I may not have mentioned it at the time, to not use Copilot). I mentioned OpenAssistant, and a few projects based on LLaMA, like llama.cpp. Some other LLaMA based projects are Alpaca and Vicuña. (I thought AI was going to lead to innovation and new insights, yet everybody wants to just run themes into the ground.) Some of these projects have a goal of running a model locally. GPT4All does run locally, and it runs hot. I speculated that we might see specific models for different industries. Like the leader of the GPT4All project, I think there will be lawsuits over the data in the models.
There is an article article asking Emacs users to avoid OpenAI here, with another about Big AI in general here [Note 3].
Someone mentioned ChatPDF, which analyzes and summerizes PDF files. At some point I will watch the AI is BS video.
#2 mentioned he paying for tokens for ChatGPT, and that it is not too expensive.
Somewhere around this point #7 joined. He said I inspired him to move from Github to Codeberg, and asked me to expand on it. He asked if there was anything that Github could do that Codeberg could not. I told him my desire to move was more ideological than practical. But if nobody ever moves, then nobody will ever move. I still have a Github account in case I want to contribute to a project hosted there. He is an academic, and if other academics he works with do not move, then he will have to have a presence on Github as well. The only feature that is missing is that you cannot search for a string in a repo on Codeberg. My Emacs config is on Codeberg here; I should probably update the README file. You can find Emacs Lisp repos on Codeberg here.
The group talked about Github actions, and how they are different than git hooks. I will include link to Github repos, but not to a Github product.
Then the conversation shifted to user interfaces, and projects that try to use the browser for everything. Mozilla had XUL. When they killed XUL, they killed a lot of projects, like Vimperator. One that is still active is TabFS (web page here, Github repo here). Being Lispers we expressed admiration for Nyxt, the browser written in Common Lisp (page here, Github repo here).
#5 started talking about modular configs. His dream is that each Emacs package comes with a couple of pre-built configs that people could load and unload, like Docker but lighter. The rest of us thought it was a nice dream, but who would maintain these modular configs? Package developers are like unherdable cats: they do what they want. Will there be a project to make these configs? That is a lot of configs. Per #2: Emacs is a cult to terrify others, not to make you happy.
Note 1: I found a page with a list of English words with diacritics. I was going to fill this post with them, but after seeing “Gräfenberg spot”, “ménage à trois” and “negligée” so close together, I decided to dial it back. The thought of writing a post with fewer diacritics filled my heart with Gemütlichkeit. Besides, most of them are related to food, ballet, or 19th century France. Filling this post with objets trouvé would have been a débâcle. The ÐḖꝈṲẌÊ Edition of this post will never see the light of day.
Note 2: For the record, February 14th of 2007 was a Wednesday. I was living in Chicago at the time. I worked in 231 South LaSalle Street. It used to be called The Bank Of America Building, until they bought LaSalle Bank from ABN-Amro, then 135 South LaSalle became The Bank of America Building. Now I think 135 South LaSalle is called the Field Building, and 231 South LaSalle is the Central Standard Building. The link to 231southlasalle.com never serves up anything. There is a page about them on the site for Beacon Capital Partners. I think the ground floor is now used by a bank called Wintrust. I assume the list of people who need a vault is very short.
I can also tell you that December 6, 2004 was a Monday. That is the date the 135 South LaSalle building had a fire (news stories here, here, here and here). I was working late in the 231 South LaSalle building, and myself and a few others there saw it happen. One-third of Chicago’s fire department was there, and some fire departments of nearby suburbs also sent personnel to assist. One reporter actually said it was “the biggest fire Chicago has ever seen.” Except for that other one. In all seriousness: keep up with your cardio, kids; you never know when something bad could happen.
Note 3: EmacsATX has no official position on any of the AI products on the market, nor any position on anything other than Emacs; if it’s not Emacs, it’s crap. Individual members may (and for AI, actually do) have differing views on the vendors of LLMs.
2023-05-10_00.33.05: Karl Voit, the developer for Memacs, left a comment clarifying a couple of points, and also made a comment about Org Edna. I edited the post to try to incorporate the information he provided. I have not edited his comment. If I still got it wrong, or things are unclear, take his word over mine. Every call people mention several packages I have not heard of. Sometimes I skim the README and still get things wrong. Karl Voit has presented twice at EmacsConf, in 2021 and 2022. You can find his Emacs page here.
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. 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.
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; if you don’t, blame somebody else.
Image from a 12th-century manuscript created at St. Panteleimon Monastery on Mount Athos; image from The Gabriel Millet Collection (image page here, collection page here), assumed allowed under public domain.