2023-09 Austin Emacs Meetup

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 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.

#1 was the organizer.
#2 was a no-show.
#3 was the Esteemed Gentleman From Oklahoma.
#4 was someone whose name was unfamiliar to me. They did not speak during the meeting, at least while I was there.
#5 was a developer in College Station. He also did not speak much.
#6 was a developer here in Austin. He made some small talk at the beginning with the organizer, but dropped off before I did.
#7 was a developer in Virginia.

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

Non-Emacs Topics:

  • Culture in OKC; high school wrestling is big in OKC.

Note: This time events are arranged by topic/theme, and not chronologically.

#3 spent some time talking about Crafted Emacs. They added a new maintainer, and #3 has been documenting the modules for Mac OSX and evil mode.

At first I thought he said “eel mode”, but I do not think there is an eel mode. There could be and I just don’t know about it. When I think about how likely it is there could be an eel mode for Emacs, is it really quite…..

wait for it

shocking.

M-x rimshot

Thanks, eel be here all week.

#3 is also deleting some obsolete code and thinks it will be ready for an RC1 release soon.

#7 asked about Crafted Emacs, so #3 gave another off-the-cuff presentation about it by going through his config.

I asked #3 is there were plans to do an intro video when Crafted makes version 1. He said the main System Crafters guy (Dave Wilson) might do one if he feels like it, but #3 has no plans to do one himself. #3 said he is not a video guy, but he does do a good job speaking off the cuff in my opinion. He has done a few presentations on Crafted Emacs already. If we were using Zoom for out meetings, we could just ask it to compile one for us (links to Zoom and AI here and here).

#3 has set up the package archive list in Crafted Emacs to not use MELPA out of the box, but he does not disallow it. He does not like MELPA because packages there tend to be out of date. A good overview of the differences between ELPA and MELPA can be found here; a lot of the packages in MELPA are hosted on Github, and the FSF does not like Github. Per that post, I think the point of NonGNU ELPA is to replace MELPA and de-Github Emacs packages. It is ironic that git is supposed to be decentralized and open source, and yet it wound up being centralized on a site owned by Microsoft.

You can find the list of GNU ELPA packages here, and the list NonGNU ELPA packages here. Anything that gets MS out of my life is good, so going forward I will pay more attention to where the packages I install are hosted. I also have a third-party package URL in my Emacs config. I will have to see which packages I use from there. When I list packages, my package buffer does not tell me which archives my “installed” “dependency” packages come from.

#1, #3 and #7 talked about using Emacs for email. Gnus and mu4e were mentioned. At one point #3 showed us his filters for his IMAP account (I think it was Gmail). I might look into this. Now I use Thunderbird for email, but as I wrote in a non-EmacsATX post, I would like a way to save my Firefox and Thunderbird configs in a way that is more elegant than zipping up my entire profile directory. Keeping them in Emacs Lisp is a better alternative. #3 uses bbdb for his filters. There does not seem to be any sort of manual on the web about bbdb. #7 uses gnus w/his gmail, said somethings were complicated.

I liked the theme #3 was using. It was one of Prot’s themes. I think it was modus-vivendi-tinted.

#3 uses which-key. Which-key seemed to me a lot like Embark, which #2 likes. Perhaps #2 and #3 could have a pop-up showdown.

We also talked a bit about Eshell. I mentioned I had written something about it, the article on Mastering Emacs, and the fact that a lot of people did not seem to know where the manual is. Mickey Petersen replied to my comment and told me that when he wrote the article the manual either was not there, or was much smaller (and less useful) than it is today. Someone posted a link to a page by Howard Abrams about Eshell called Why use EShell? He has a few other pages about Eshell (like here) and gave a talk about it at EmacsConf in 2022. I am trying to replace my use of bash with Eshell. I did not make any promises about having an actual presentation, but I did say I might give an update at the next meeting.

Per the schedule for EmacsConf 2023, it looks like the other member from OKC (aka “The Professor”) will be presenting for his third straight EmacsConf.

This post was created in Emacs with Org Mode and Love. 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”. 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. Come every month and join the club.

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. You can read the disclaimer, or you can just use the short version: you are on your own and don’t come crying to me if anything goes wrong.

Image from the Gladzor Gospels, a 14th-century Armenian manuscript housed at UCLA (article here, images here); image assumed allowed under public domain.

2023-08 Austin Emacs Meetup

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. I was only on for an hour before I had to drop off; hopefully people did not save their bon mots for the period I was absent for.

#1 was the organizer.
#2 was a devloper in the Dallas area.
#3 was again a no show.
#4 was someone whose name was unfamiliar to me. They did speak during the meeting, but I do not remember much about them.
#5 was a developer in Seattle; he gave a presentation on Org React last month.
#6 was a hardware developer in north Texas.
#7 was the professor in OKC. I only noticed him right before I left.

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

Non-Emacs Topics:

  • Linux distributions
  • Vim (again)
  • Hammerspoon

We started out talking about Emacs 29.

I asked about building Emacs 29 locally. I run Pop!_OS, which is based off of Ubuntu. The version that comes with it is 27.1. There are reasons to stick with what your distro gives you, but there are a lot of things in 29 that look like it might be worth it to build it myself (like use-package). I got a few suggestions, most of which were in line with what is on this page. (This site also has a page on using Emacs 29.1 with Golang.)

On one of my computers I do have Emacs 29.1 as a flatpak. For my own future reference, flatpaks are stored at $HOME/.local/share/flatpak, and I can run the app in a terminal with “flatpak run org.gnu.emacs”. I do not know when I installed it. I picked Pop!_OS because they do not use snaps. I do not want to jump out of the frying snap and into the flat. I will get rid of it.

A few people talked about long lines. A few said they have used files with really long lines, and wonder how long a line has to be to cause a problem. #6 works on chips, and said the core dumps are CSV files that are over one gigabyte; he said he needs GVim to look at them, and hopes that Emacs will get better at handling large files. Excel cannot handle CSV files that large either.

I wonder if use-package, tree-sitter and long lines will be incorporated into XEmacs. Or will it fall so far behind that we will call it Twitter-Emacs?

#4 said they grew up in Emacs, while #2 and #6 started out as Vim people. #2 said that he learned Vim because it was the default editor for Git. He said learning vim caused him to hate himself. He has said that a couple of times in the past; he has never said that Emacs caused him to hate himself.

A few of us wondered why nano wasn’t the default. It has the commands along the bottom, so you would never have to remember how to use it.

I know a lot of sysadmins say a reason to learn vim is that it is always on a Linux/Unix system, but that is a terrible reason for using it except when you have to. That is no different than the unwashed masses using Windows because that is what was installed on when they got their system from Best Buy. I know this is just one person’s view, but I had an exhange on the Emacs subreddit with a sysadmin who uses Emacs, and they agreed that if systems had nano instead of vim, then nano would be the most popular editor.

A few of the former vim-mers talked about modal interfaces, and using even using them outside of vim, like for the whole OS, or in Emacs. A few Emacs meta-modes (which are Emacs modes that allow you to use Emacs modally) are Meow mode, God mode, and Hydra mode. The best names for one of these would be “à la mode”, or just “Mode mode”. I googled for those, and those names are not used. One of the former vim-mers shared a link explaining the vim philosphy.

#2 showed how he uses a tool called Hammerspoon to automate actions on a Mac. He switches between windows, opens files, controls the volume, you name it, with the keyboard. Hammerspoon uses Lua. I glanced at a few videos about it on Youtube, and they seemed to spend more time in an editor editing the Lua files than showing what you can do with the tool. At least this guy used Emacs to edit Lua.

Then #2 gave another demo of Embark. He did not make a presentation, but he did have some notes outlined in an Org file. He compared it to Hyperbole (Reddit posts on Hyperbole here and here; some of the comments compare it to Embark). I asked him if it would work if Emacs was started with –no-window-system, and he said it would. Embark uses Posframe to pop up frames, and that should still work with no window system.

Embark is a context-aware actionable helper. You can highlight text, or just call it from within a buffer, and it pops up a frame listing functions that could be used at that point, based on the text, the type of buffer, or your place in the buffer (like in a Org outline). It can be used on dired buffers as well as files. It has built-in targets and actions, and you can define your own.

Embark can do a lot. It looks to me like Org: powerful, but a beast to learn. I think I will just tell you to search for Emacs and Embark on Youtube to see what Embark can do. Or you could attend a future meeting and ask #2 to demo it a third time.

This post was created in Emacs with Org Mode and Love. 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”. 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 “Evangelia [Evangiles dits de Du Fay]”, a 9th century manuscript housed at the Bibliothèque nationale de France. Source gallica.bnf.fr / BnF; image assumed allowed under public domain.

2023-07 Austin Emacs Meetup

There was another meeting a couple of weeks ago of EmacsATX, the Austin Emacs Meetup group. For this month we had a predetermined topic: Org-Reveal. 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 the organizer; he used to work for the City of Austin. I do not know what he does for money, but it involves Emacs.
#2 was the developer in North Texas. I might give him the number two spot permanently.
#3 (aka the Esteemed Gentleman From Oklahoma) was not in attendance.
#4 was a developer in Seattle, originally from Romania.
#5 was in San Francisco; I think he is one of the organizers of the San Francisco Emacs meetup.
#6 was someone in Kansas.
#7 was the professor in OKC.

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

There was just one non-Emacs Topic:

  • The correct pronunciation of “Dracula”. Per the Romanian in attendance, it is “drah-KOO-lah”. If someone tells you otherwise, don’t let them fool ya.

#4 gave a presentation on Org-Reveal, which allows you to export Org files to HTML presentations by connecting to the Reveal HTML presentation framework. You can go from one heading to the next by clicking on the horizonal arrows, and if there are sub-headings you can access them by vertical arrows (see the demo here).

You need to import the org-reveal package and a couple of others. You also need to have an Org keyword poiting to the reveal.js file; you can point to a local copy or one online. #4 pointed to one on JSDelivr. Org-reveal adds an “[R]” option to the org-export-dispatch menu. The result is a large HTML file with your presentation.

Your Org file can contain source, media and images, and those can all be exported. You will still need to look at the documentation on the Reveal website; I do not think Org-Reveal can wrap Reveal completely. You can use any themes from the Reveal website.

There was some discussion about exporting to PDF, but that seems like a chore in general.

#5 talked a little bit about the relationship between Org-Reveal and org-re-reveal. Development on Org-Reveal had stopped, so someone forked it as org-re-reveal. Then after a couple of years work on Org-Reveal resumed, and now they have diverged and are no longer completely compatible. #5 and #7 both thought that org-re-reveal had more features, looks better, and has a better charting library.

I mentioned that someone has resumed work on XEmacs. You can access the source here. My understanding is that way back in the mid-1990s, some developers wanted to add functionality to GNU Emacs, but Stallman wasn’t too interested in their changes. So for a while there were two Emacsen, and XEmacs was where the action was. Then in the mid-2000s somone else started managing GNU Emacs, they changed their process and started making changes to GNU Emacs, and XEmacs lost its momentum. The last release was in 2009.

I wish that #3 had been on this call. He had some contact with both Emacs projects and might be able to offer some insight.

In the past decade there has been a lot of momentum and community growth in Emacs due to Org Mode and Magit. Some people learn Emacs just to use one or both of those tools. A lot of us in the group are heavy Org users. Will XEmacs incorporate these tools? Will it last if it does not? What about use-package? Tree-sitter?

People are always debating if Emacs is just an editor or something more. The front page of the GNU Emacs site calls Emacs “extensible, customizable, free/libre text editor – and more.” The front page of the XEmacs site calls XEmacs “a highly customizable open source text editor and application development system”. Their source page calls XEmacs an “editor and productivity suite.” Some people joke that Emacs is an operating system, but it does not deal with drivers, user accounts, or managing other applications like an OS does. Perhaps it is best to consider it a combination of editor and application platform. This guy has some interesting points on the subject. He is also working on a GUI library for Emacs (HN discussion here).

#2 shared his screen and demonstrated his Emacs-fu. He showed us using Org-noter to keep notes in a PDF file. He ran the PDF viewer within Emacs; I guess he does not start Emacs with the –no-window-system option. He showed us Embark. It lets you choose a command based on the text near the point (which is what Emacs calls the cursor). The example he showed is that if there is a mention of an RFC, like “RFC 1234”, he can highlight that text, and call rfc-mode to download a PDF of the RFC and open it in Emacs. He also showed us anki-editor, a mode to make flash cards in Emacs. #2 truly lives in Org Mode.

At that point I had to leave. The meeting continued, but I do not know for how much longer.

Note: rfc-mode is made by galdor; you can find him on Mastodon here. And there really is an RFC 1234.

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”. 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 BNF Latin MS 278, “Evangelia”, an 11th century manuscript housed at the Bibliothèque nationale de France. Source gallica.bnf.fr / BnF; image assumed allowed under public domain.

2023-06 Austin Emacs Meetup

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.

One thing before we go forward: My schedule has changed slightly. There is an event I have started attending that occurs every Wednesday. I can still attend the EmacsATX calls, but I will only be able to stay for one hour. So future write-ups might not contain information for the whole meeting.

#1 was one of the organizers; he used to live in Austin and now lives in East Texas. He was only on for a few minutes.
#2 was the other host.
#3 was the Esteemed Gentleman From Oklahoma.
#4 was a developer in South America. Now all we need is someone from Africa, and we will have had attendees from all populated continents.
#5 was a developer in Seattle.
#6 was our developer in Australia.

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

Non-Emacs Topics:

  • Linux in general
  • Pop!_OS in particular
  • The hard truth about running a user group
  • Cyprus Preppers

At first it was just myself, #2 and #3. I mentioned that I had not done a whole lot with Emacs in the past month. The hard drive on my laptop died. I spent some of my time backing up the data (there were signs it was not long for this world before the end) and I got a new laptop from System76 (post here, shameless unpaid placement here). I think it is important to support Linux vendors, and I am tired of installing operating systems. The only thing I ever learned from it is that I hate doing it and I get nothing out of it.

The version of Pop!_OS that is on both of my systems is based on an LTS version of Unbuntu, and the version of Emacs on them is 27.1. I will not get the latest and greatest for a while, but I am okay with that. The OS has an alert when there are updates to any packages, and I just install them when they come up. I am trying to not be one of those people who spends more time configuring Emacs than getting things done with it.

#4 introduced himself. He is in a developer in Colombia. He started getting into Emacs recently, and is interested in Org mode.

#3 said he is in Org all day; he keeps notes on meetings and everything else in Org. This is the way. [Reader repeats: “This is the way.”] He keeps longer notes in Denote (Github repo here, manual here) a mode by Protesilaos Stavrou, aka “Prot”. I have a link to his Emacs Youtube playlist on my Emacs page. I have heard of him, and I know a lot of people respect him, but I have not watched any of his videos yet; it is another item on my ever-growing TODO list. #3 said that one of Prot’s projects was to build a hut to live in somewhere in rural Cyprus. Perhaps he was building it out of parentheses. Perhaps Emacs 30 will have a M-x build-hut function. The admin for the Emacs Mastodon server had a coaching session with him recently.

#5 had recently came back from Europe, and had been working on a presentation about Org-Reveal. He gave us a preview. The plan is that he will finish it and present next month, so I will not say too much about his presentation now.

#2 asked if anyone wanted to do a presentation on tree-sitter, and this led to discussion of a lot of stuff that only works on Emacs 29, like tree-sitter-langs and combobulate, and an article about it all at Mastering Emacs. #3 said from user perspective there is not a lot to tree sitter. Someone mentioned dumb-jump, another navigation package; it helps you find the definition of a function. There is also a package called smart-jump. I have not tried either, and I do not know how they are different.

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”. 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 an 11th century manuscript housed in the Bavarian State Library (Wikipedia page here); manuscript here, information here, citation link here, image assumed allowed under public domain.

2023-05 Austin Emacs Meetup

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):

Non-Emacs Topics:

  • 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.

You’re welcome.

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.

2023-04 Austin Emacs Meetup

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; he used to live in Austin and now lives in East Texas.
#2 was the developer in north Texas.
#3 was not here. (I might give The Esteemed Gentleman of Oklahoma a permanent number.)
#4 was a hardware designer in north Texas near Dallas.
#5 a developer in Australia.
#6 did not speak much.
#7 was the other organizer, formerly working for the City of Austin.
#8 was the devops engineer from the company that makes quantum computers from lasers.
#9 was our professor in OKC.

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):

Non-Emacs Topics:

#1 got us started. He helped someone at his job with Base64 encoding and decoding for OAuth. He may have sold someone on trying Emacs. He does not evagelize too often since Emacs does require a commitment. However, #1 mentioned this person was a ham radio operator, so perhaps the Church of Emacs will save another soul.

#2 pointed out Emacs can convert text to Morse code and the NATO alphabet. As a non-native English speaker, he finds NATO alphabet useful.

You know you want it, so here are those previous two sentences in Morse code:

#..--- .--./---/../-./-/./-.. ---/..-/- ./--/.-/-.-./... -.-./.-/-. -.-./---/-./...-/./.-./- -/./-..-/- -/--- 
--/---/.-./.../. -.-./---/-../. .-/-./-.. -/..../. -./.-/-/--- .-/.-../.--./..../.-/-..././-/.-.-.- 
.-/... .- -./---/-./-....-/-./.-/-/../...-/. ./-./--./.-../../.../.... .../.--././.-/-.-/./.-./--..-- 
..../. ..-./../-./-../... -./.-/-/--- .-/.-../.--./..../.-/-..././- ..-/..././..-./..-/.-../.-.-.-

We looked at the “Games and Other Amusements” page in the Emacs documentation, and spent a few minutes trying some of them out. When people say Emacs is stuck in the 1970s, show them the built-in Tetris.

#4 asked about Hyperbole (Emacswiki link here, GNU link here). #4 cannot find a good use case for it since Org handles what he does.

I am surprised more people are not using Hyperbole. It is the best Emacs mode ever. It is so good, there is a Youtube channel for it. Really, the videos are just amazing. Hyperbole mode is totally top notch. I just cannot convey how great it is. High marks.

I am not the only one blown away by how excellent Hyperbole mode is. The critics have spoken:

..../-.--/.--././.-./-.../---/.-../. --/---/-../. .-/-.-/-.../.-/.-.
- Morse Code Allah

Try Hyerbole Mode. Think really hard. Write down how great Hyperbole Mode is.
- Richard Feynman

Zathras try Hyperbole. Hyperbole best thing happen to Zathras. 
Zathras must go tell Zathras.
- Zathras

I loved it. It was better than "Cats". I am going to use it again and again.
- Saucer-Eyed Tourist in NYC

But isn't vim better thaALL GLORY TO HYPERBOLE MODE.
- Resident of New New York, Year 2999

Much Lisp. Such Meta-X. Def wow.
- Dogechan

We also talked about Big Brother Database: ELPA page here, EmacsWiki page here.

#2 showed a Chat-GPT package. Apparently there are a lot. He asked for a prompt, and I told him to ask about a good use for Hyperbole. I am not sure which package #2 used. I think it was either gptel or gpt.el. #1 wants syntax highlighting in his GPT client. I have not used any of the GPT clients, so I was not aware there was no highlighting. #2 says you have to give Chap-GPR precise directions, and uses it for proofreading.

We got to know #4 a bit more. He is originally from Austin, and now lives North Texas near Dallas. He works for a semiconductor company based in Boise. He uses some Emacs in his job and uses Org to track tasks and his time. He mentioned Org Notion, which I assumes helps Org talk to the Notion mentioned at this link (I had never heard of it). He runs Emacs on Windows through WSL. His job is hardware design, but I do not think he uses Emacs for that specific task.

I googled “Emacs CAD”, and the best result I got was a Reddit thread from 2017. There is also an architecture firm in Nairobi called “Emacs CAD“, but I do not think it has anything to do with the Emacs we are all familiar with. The founder’s name is Emmanuel, so perhaps that is a factor in why the firm is called “Emacs”. However, their “About Us” page has a few statements I think we can all agree with:

With a passion to raise the standards, Emacs will satisfy and exceed your requirements.

Emacs values and recognises talent and variety from other professions and approaches its solutions provision using the consortium approach.

The Emacs Vision is to be an excellent provider of life enhancing solutions.

Then there was a lot of talk about configuration. #4 is a former Vim user, likes to tinker, made the switch to Emacs four years ago, and might declare Emacs bankruptcy. #2 uses Doom core with mostly his own modules. #2 talked about difference between Spacemacs and Doom. #2 showed us a few Doom macros for configuration: after! and map!. #4 makes a config per module and groups them into directories. This allows him to zero to a package to find out which is causing issues. He talked about wanting to use daemons to run multiple instances to debug problems.

#8 revealed that he is one of the maintainers of Spacemacs, and sees using a daemon connecting to different clients as an anti-pattern. One exception would be if he used a different daemon to run unit tests when he updates a repo; that way a failing test would not upset his workflow. #8 said there has been cross-pollination between Doom and Spacemacs.

#9 said he formerly used a config based on Daniel Higginbotham’s config for Clojure For the Brave and True. Now his is all in one file, which is easy to keep in version control. It is about 6K lines. He tried Org mode for his config, but could not get it to work. My Emacs config is also based on DH’s. At some point I will try to get it to work with use-package or as an Org file.

#2 has his config set to be lazily loaded, so it starts fast but he pays for it later. #8 declared Emacs bankruptcy. He went bankrupt two times in three years. Now with Spacemacs his config is 300 lines of Emacs Lisp. Before his config had 1000 pages. He said you can but page breaks into files and use a customized character for the page break, like a horizontal line. This can make a large file easier to parse visually. Here are a few links for my convenience: A page on Emacs wiki here, an old page at Indiana University here, page-break-lines.el on Github here, the Emacs manual’s page on Pages (getting meta with Meta-X) here. I will add this to my ever-growing to-do list. The stereotype is that Emacs users are always changing their config. I keep adding to a list of things I say I will add to my config someday.

#8 said there might be some changes coming to tree-sitter, but did not say too much else. That link says to use the built-in Emacs tree-sitter module for 29+.

Then we got back to AI. #8 talked about a study that was done for AI and chess. AI could beat a grandmaster. But if an AI gave an amateur a list of 10 possible moves and the amateur picked from that list, the amateur beat the AI. And if the AI gave a grandmaster options for the grandmaster to choose, they beat all everyone else. Perhaps that will be a model for software development going forward.

The conversation then shifted to ways of writing in general, not just software. A few participants talked about Tolkien’s Leaf by Niggle, and then the snowflake method of writing. Honestly it was a bit upsetting.

We talked a bit about Latex. I had a job working with Latex to prepare them for academic journals. #9 said he is only one on his campus that uses it. That surprised me.

Lastly, as people dropped off,#7 and I talked to #5. #5 was in Melbourne, Australia. Not a banana bender, crow eater, top ender, or sandgroper. (For some reason there is no slang term for people from New South Wales.) Another continent checked off. All we need is Africa and South America, and we have a complete set.

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”. 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 Matenadaran MS 1568, a 12th-century Armenian manuscript housed at the Matenadaran Institute of Ancient Manuscripts in Yerevan; image from Wikimedia, assumed allowed under public domain.

 

2023-03 Austin Emacs Meetup

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; he used to live in Austin and now lives in East Texas.
#2 was a programming instructor in NYC.
#3 was The Artist Known as Number Three, the Esteemed Gentleman From Oklahoma.
#4 was a devops engineer for a quantum computing company in Madison, WI (he is in Madison, but the company is based elsewhere).
#5 was the other organizer, formerly working for the City of Austin.
#6 was our professor, the Other Esteemed Gentleman From Oklahoma.

When I dialed in the guys were talking about how to keep their kids out of their home offices, although some allow them to go in sometimes. #3 said his kids are adults, and they still do not go into his office. His adult daughter will not cross that yellow line.

#4 talked about the company he works for and his use of Emacs. They make quantum computers by using lasers to trap atoms in a vacuum. I asked him if he worked for Rigetti Computing, but he said it was another company. I guessed Rigetti because 1. It is the only quantum computing company I could name, and 2. Whenever someone on the web asks who uses Common Lisp, a Rigetti person mentions they use Common Lisp. I assume a company that uses Common Lisp would have a lot of Emacs users. He explained that Rigetti makes a chip, while making a quantum computer with trapped ions is a completely different process. #4 said he does not know too much about the lasers and that there is an engineering team that configures them. He said that the configurations are stored in Org files and the process can be run multple times from the same configuration.

Still, I think it is interesting that Emacs can be used to control lasers. And because there were some snarky comments in the chat, he was compelled to point out the lasers are not mounted on sharks.

#4 did know more about lasers than the average person (like what the can and cannot cut through), and he and #3 spent a few minutes discussing lasers. #3 worked with lasers in the Navy. I remarked that #3 seemed like a Renaissance Man: He uses Emacs, he was in the military, he shoots lasers, he has had some music from different genres on in the backround during meetings.

#2 introduced himself. He found out about the group from #4. They met through the nanofiction community. #2 has been using Emacs for 2 years, and came to Emacs from Vim because he thought Vim was too limited. #4 came to Emacs from SciTE.

I mentioned that I wished the developer from Dallas (who was last month’s #2) was on the call. He was speaking to a newcomer who was having a hard time getting into Emacs that many people see Emacs as an editor, tool, or IDE, and while it is those things, ultimately it is a Lisp REPL. My power went out, and I wished I heard him finish the thought. A few people said he went on for several minutes. This led into a rehashing of some of last month’s topics, including Verb mode. #2 thought we said “Bird mode”. It turns out there is a Bird mode; none of us had heard of it or could tell what it does from the sparse Readme.

The two words sound very similar. The word for last month’s mode is “verb”, and connotes action. The word for this month’s mode, on the other hand, has a more avian flare to it. The word for this month’s mode is an ornithogical expression, as it were. What is the word? My friends, “bird” is the word. (According to Wikipedia, it took four people to write that song.)

#4 shared link to RDE, a Scheme repo for reproducible development environments. He and #2 talked for a few moments about Guix, which uses Scheme for configuration.

I asked about an issue I was having with REPLs in CIDER: It would hang when I hit return. The solution was to add this to the Emacs configuration:


(define-key paredit-mode-map (kbd "RET") nil)

This solution was also suggested at Emacs Redux. But when I added it, I kept getting this error:


Symbol's value as variable is void: paredit-mode-map

#4 said it was because it was trying to set paredit-mode-map before paredit was loaded. I am not sure why that would be happening, since I put this at the end of my file. He suggested I change it to this:


(with-eval-after-load 'paredit (define-key paredit-mode-map (kbd "RET") nil))

That worked. I do not know why I was getting the error even though I put the “define-key” towards the end. Perhaps it is time to read Mastering Emacs, the Emacs manual, or perhaps both. Anyway, devops for the win.

I edited my config, and tried out the solution while the conversation continued. When I came back, they were talking about configs and start-up times.

Then talk shifted to startup time. #3 and #6 finally met up in OKC, and #3 helped #6 with his Emacs init, and significantly reduced his startup time. #3 said the basic idea was to use use-package to defer what you need until you need it. Now #6 loads his packages at the beginning using add-to-list to add packages and then configures them with use-package. He has about 155 packages.

Now that I think about it, use-package used to get mentioned a lot at these meetings, but lately it has not been mentioned as much.

#4 runs Emacs server on login, and then runs Emacs client when he needs to edit files, like bluetooth: it starts when you login, not when you connect a device. If #4 comes back on later, I will have to ask him if he keeps any instances going all day, starts and exits, or some combination. He also said that other people on his team use Emacs and talked about their configs, but I did not add that to my notes.

#2 asked about tiling window managers, and #3 talked about WMs that he has used. I use Emacs with the “–no-window-system” option, and just stick with the GUIs that Ubuntu and System76 give me, so some of this went over my head. #3 avoids i3wm because others use it. Not only is he a Renaissance Man, he is a Hipster Renaissance Man.

#3 mentioned he tries to live in Emacs as much as possible, but is not an extremist. He uses Gnus to check email and does a lot of things that most people do in other programs, but he admits there are some things we should do outside of Emacs. He does not play music or browse the web in Emacs. He tried does that. Checks Gnus and email in Emacs. Lives in Emacs. He tried using Emacs to access KeePassXC,but did not like it. I also tried it using keepass-mode, but I did not like the fact that I could not sort the entries in a folder alphabetically. I also tried accessing my database on the command line with keepassxc-cli and I still could not figure out how to list the entries in a group the way I wanted.

#1 talked about using Chemacs, using different profiles. #3 said there is a with-emacs shell script; I assume he was talking about this. Emacs 29 will probably make those obsolete. #3 pointed out that Chemacs can mess with some configs. He mentioned an “early init file“, which I had never heard of. I guess his work with Crafted Emacs forces him to deal with corner cases that most users never deal with.

#6 asked about blogging. He uses org2blog to publish to WordPress. I also blog with WordPress. I write the post in Org, use org-export-dispatch to export to HTML, and then copy and past the HTML into Classic Editor. I hate the Gutenberg editor, and based on the reviews for the Classic Editor plugin, I am not alone; instead of calling the new editor Gutenberg, they should have called it Torquemada. If the Classic Editor plugin gets discontinued, I might go with JBake. #3 uses WriteFreely. #4 pointed out Hugo supports Org, and mentioned write.as and Keybase. #6 also looking at a way to display inline pdfs in Org.

#3 pointed out that Emacs runs on Android. At first I don’t see the point, but #3 mentioned that Chromebooks can run Android.

#4 gave a link to a reg-ex debugger, but this site might not work with Emacs regular expressions. So with Emacs regex, you wind up having three problems. You can find a page on Emacs regular expressions here, Perl here, and Java here. There is a free regex tester that is a part of a group of sties called Dan’s Tools. A few people shared some regex horror stories. (Is “regex horror story” redundant?)

#5 had his cat say hello. #3 mentioned his dogs. I asked if there are any cat people in Oklahoma, and #3 said there are, but it is mostly a dog state.

#4 asked about Zile, GNU’s other configurable editor. Per GNU, it means “Zile Implements Lua Editors” and also “Zile is Lossy Emacs“. I guess it can be used to run a Lua editor names Zz, or an Emacs clone called Zemacs. This led to talk of other Emacsen. Many of them have fallen away, but they were specific platforms that no longer exist. Linus Torvalds uses MicroEMACS, which was last released in 1996. The source to Gosling Emacs was released recently (Github link here, Hacker News link here). #5 gave a rundown of Gosling emacs: Gosling put a wrapper around the TECO language, sold it to a company that charged for it, RMS got mad and rewrote Gosling’s Lisp.

#3 pointed out RMS does not use external packages, per RMS’s EmacsConf talk. He uses VC, and sees no point in integrating Magit into Emacs. To be fair, per the Emacs docs VC can interface with other version control systems in addition to Git.

The converstation turned to Emacs code: a lot of it is forgotten and hasn’t been looked at or changed in a long time, and that there are a lot of features people do not know about. #3 said that working on Crafted Emacs led him to find features that he had never heard of. One feature that was mentioned was Whitespace mode (see here and here). #3 and #4 also talked about proced, which can manage processes. There is no mention of it in the Emacs documentation. There is an article about it on Mastering Emacs and an article and and article here with discussion here. The source code is here, and mirrored here. You have to invoke it old-school with M-x proced. As far as I know, there is no key chord for it.

Like Dired, there are some commands you can run in the buffer:


(n)ext, (p)revious, (m)ark, (u)nmark, (k)ill, (q)uit (type ? for more help)

Using M-x describe-bindings in the proced buffer, I was able to find the proced functions:

Key Binding
RET proced-refine
C-n next-line
C-p previous-line
SPC next-line
0 .. 9 digit-argument
< beginning-of-buffer
> end-of-buffer
? proced-help
C proced-mark-children
F proced-format-interactive
M proced-mark-all
P proced-mark-parents
T proced-toggle-tree
U proced-unmark-all
d proced-mark
f proced-filter-interactive
g revert-buffer
h describe-mode
k proced-send-signal
m proced-mark
n next-line
o proced-omit-processes
p previous-line
q quit-window
r proced-renice
s Prefix Command
t proced-toggle-marks
u proced-unmark
x proced-send-signal
DEL proced-unmark-backward
S-SPC previous-line
<down> next-line
<header-line> Prefix Command
<mouse-2> proced-refine
<remap> Prefix Command
<up> previous-line
<remap> <advertised-undo> proced-undo
<remap> <undo> proced-undo
<header-line> <mouse-1> proced-sort-header
<header-line> <mouse-2> proced-sort-header
s S proced-sort-interactive
s c proced-sort-pcpu
s m proced-sort-pmem
s p proced-sort-pid
s s proced-sort-start
s t proced-sort-time
s u proced-sort-user

 

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”. 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 Grec 224, an 11th-century manuscript housed at the National Library of France; image assumed allowed under public domain.

2023-02 Austin Emacs Meetup

There was another meeting a few weeks ago of EmacsATX, the Austin Emacs Meetup group. For the this month we had no predetermined topic.

#1 was one of the organizers. He used to live in Austin, but now lives in East Texas.
#2 was a developer near Dallas. He was a power user of IntelliJ, but now uses Doom.
#3 was one of our developers in OKC (Still the Artist Known as Number Three).
#4 did not say much; their name was unfamiliar to me.
#5 was one of the organizers, and formerly worked for the City of Austin.
#6 was a guy from San Francisco, who also did not say much.
#7 was our professor from OKC.
#8 was from Seattle. I think he attended in 2022-12, and was trying to transition from VS Code to Emacs.
There was a #9 and a #10, but they did not say anything while I was on.

I joined a bit late, and there was a lot of talk about running a meeting. I think #6 is involved in the Emacs group in San Francisco. He said that running a meeting is a lot of work. Someone mentioned recording the meeting, and that was shot down. I think a lot of people did not like being recorded unfiltered. Granted, Emacs users are even more intelligent, sophisticated and attractive than other IT folks, even readers of Tales From the Jar Side. EmacsSF does have a Youtube channel, but there are some gaps. I do not remember if #6 said why they stopped recording or if he had any part in the decision. Maybe they just got sick of doing it.

#8 said it is hard to get into Emacs. #1 recommended resources: YouTube, Sacha Chua, ChatGPT. There were some suggestions about how to discover things in Emacs: C-h o (which runs describe-symbol), info pages. #7 mentioned the Emacs Buddy initiative system: you can connect with an experienced Emacs user. You can find the web page about it here, and an EmacsConf22 talk about it here. I have still not gotten around to watching the videos from prior EmacsConf years.

A lot of the meeting was #2 and #3 sharing their screens showing the rest of us how they use Emacs and Org to manage REST requests. They use different languages inside the Org files to make the requests and to process the results. I have to admit sometimes I was a bit lost during their demos; their Emacs-fu is very powerful.

They both mentioned an Emacs package called verb to help manage requests. #2 uses shell, awk and Python to make the requests, then transforms the JSON result into edn (extensible data notation) (pronounced like “Garden of edn”) and works with it using Clojure in a REPL inside Emacs. He also changed his file to make a request with curl. #3 had an elisp function inside javascript to populate his JSON request.

#3 talked about verb using the header line. I honestly have never heard of the header line. The mode line is the line at the bottom, and every config has that; the header line is like a mode line at the top. I think most configs do not use it or disable it. Prelude does not have it. My config (based on an Emacs config for Clojure by Daniel Higginbotham, aka flyingmachine) does not have it either (see Note 1 below). I think the mode line has always been in Emacs, and the header line was just added a few years ago.

#3 also mentioned which-key: per its web page it is a package “that displays available keybindings in popup”. #3 says lives in Org mode, and uses it to keep notes for meetings; he is an inspiration to us all.

#8 said he loves and hates VS Code. MSCode is easy to use, and he said he was having a hard time getting into Emacs. I think he might be trying to do too much at once with Emacs. #1 mentioned you do not have to open PDFs in Emacs if you do not want to. #2: said many people see Emacs as an editor, tool, or IDE, and while it is those things, ultimately it is a Lisp REPL. I wish I heard what he said after that, but then my power went out. Perhaps next time he will complete the thought again.

You’re welcome.

Note 1: Prelude and flyingmachine’s Emacs config may have changed since I last downloaded them. My version of Prelude is from a year ago, and I have been altering flyingmachine’s config from about three years ago.

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 Mungi Gospels, an 11th-century Armenian manuscript housed at the Matenadaran Institute of Ancient Manuscripts in Yerevan; image from Wikimedia, assumed allowed under public domain.

2023-01 Austin Emacs Meetup

There was another meeting two weeks ago of EmacsATX, the Austin Emacs Meetup group. For the this month we had no predetermined topic.

#1 was one of the organizers, and is active in the Austin Clojure group. He shared his screen for most of the presentation.
#2 was our professor in OKC.
#3 was a local Javascript/Clojure dev in Austin.
#4 was a local dev in Austin. I think he was #5 back in June.
#5 was one of the organizers, and formerly worked for the City of Austin.

#2 previously presented to the group back in May on developing Emacs Lisp as well as using it for molecular biology. He referenced the presentation he gave for EmacsConf 2021. He also gave a talk at the recent EmacsConf in December 2022. He spoke a bit about how the conference was handled: people pre-recorded their talks, their talks were shown at the scheduled time, and then there was a chat to ask questions. He said some of the talks were very polished. RMS got to do his live. He can ramble live, or he can ramble on tape. What is the difference?

#2 was surprised at how many young people were involved with the conference.

There is an online book club going over Mastering Emacs that #2 attends. You can find out about it here. There are quite a few regular Emacs meetings listed on Sacha Chua’s Emacs new feed, although some are at a bad time for US people. A couple of people in the ATC meeting wondered how Sacha Chua makes the digest; it would be hard to automate putting posts into categories. Does she do it by hand? She has been doing this since 2015. Maybe she gave a talk about it at an EmacsConf one year; I will have to check. I still have not gotten around to watching the talks from previous years. One of the effects of Org mode is that I am not only better at tracking things on my to-do list, I realized I have a very long to-do list.

There was some discussion about GPT-3 packages, which became discussions about GPT-3. #1 gave it some interview questions for Javascript, and he thought it could pass an interview. #2 pointed out that for all the hand-wringing about GPT-3, you still have to know enough to judge the answer.

#1 said he had asked it to write a few stories, and there seems to be a pattern: a group struggles, they persevere, it works out, happy ending. Like every sports movie.

#1 asked me about Rainer Koenig’s Org-mode course. I still have to finish. I got it two years ago, and I learned enough to get stuff done with it, and haven’t gotten around to finishing. I know there is a stereotype of Emacs users who spend so much time configuring Emacs they never get much done. After I got halfway through Rainer’s course, my config has been pretty stable. Rainer is big on key chords (as are most Emacs people), but now when I learn a new mode I prefer to use M-x $FUNCTION_NAME to get stuff done. I have to pause a lot to get the function names for the new key chords he was introducing. I do not know any of the key chords for Org at all, and I see nothing wrong with that. The only criticism I have of his course is that a lot of the dates in his Org files are from a few years ago, so when you go into agenda views, all the items are from a few years ago. If the view is for a week, you will have to press the “b” key to go back dozens of times. The page on Udemy says the course has not been updated since December 2020. But other than that one point, I recommend the course and I learned a lot from it.

#1 went to Udemy to find Emacs courses, and there were more courses on Udemy than we expected.

#5 said he was getting more into macros. Someone pointed out that using the function keys makes it easier. I guess Emacs did not always use F3 and F4 to start and stop macro definitions. There was some wailing and gnashing of teeth about function keys. #1 put prompt into ChatGPT: write a rant about function keys in style of Leviticus. He read it aloud, and I said he sounded like someone who did not know the answer to a question and was just stalling for time. #5 said that is most of the Bible.

Someone said that ChatGPT was just as vacuous as ELIZA. I said, “Why do you think ChatGPT is as vacuous as ELIZA?” He took the question seriously.

#1 looked at a project on Codeberg, which is the what I am thinking about migrating to. A few people talked about getting off Github. #3 noticed people use “github” the way they use google. People do not search for something, but they google it. Since he was upset, we offered to FedEx him some Kleenex.

Then we were back to ChatGPT. There was some discussion about the legal aspects of it. Github Copilot incorporates a lot of open source material from projects with various licenses. Using it could get a company in some legal trouble. Some of the visual AI programs like DALL-E have some distortions that are speculated to be washed out artist signatures.

#1 asked ChatGPT for some stories to prove they are formulaic. He predicted if you ask it for a story about two people falling in love, they always wind up together. He did that a few times, and that is what happened. I suggested a story about Charles Bukowski finding love on Github (the same way people ask DALL-E to make a picture of an astronaut in the style of French Impressionists), but it would not do it. Although it was more polite than Bukowsky. #1 asked for one where the couple finds love on Github and breaks up. ChatGPT did it, but then they got back together again.

#1 asked ChatGPT for topics for the Emacs meetup. Then he asked for the top Emacs plugins. git-timemachine looked interesting to a few people. Searching for this package led me to the Emacsmirror Github repo and website. Then #1 prompted it for presentations about Magit and beacon mode. It gave a pretty good start. No longer will presenters be hurting for presentations.

Then #1 asked ChatGPT for a story about me getting a job using Emacs. I do not remember if he was making stories for everyone, or if this was inspired by something I said; I have stated a few times I would like a job where I could be in Emacs all day. For some reason it had me learning Python (which I know nothing about) and getting a job with that, and then I fall in love with a woman named Sarah in Antarctica. I think #1 just put in my first name and not my full name, but it seemed odd to everyone that ChatGPT inserted Python and going to Antarctica. I did not think Python is the most popular language amongst Emacs programmers; I would have guessed Clojure has more Emacs users.

At the end of the meeting, #5 mentioned he worked for a couple of summers for BP up in Prudhoe Bay. He said some of them were certified engineers who had gotten burnt out with engineering. #1 said he had a college roommate who did that, made a lot of money, and used that high number to negotiate a higher salary. Then #1 talked about neighbors shooting, and speculated they must have spent a lot of money on ammo.

Kleenex, Leviticus, art, literature, romance, oil, and guns: Emacs people can talk about more than just Emacs.

Or, as some people call it, “E-Max”.

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”. 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 Codex aureus pultoviensis, an 11th-century manuscript housed at the National Museum in Krakow; image from National Museum in Krakow, assumed allowed under public domain.

 

2022-12 Austin Emacs Meetup

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

#1 was one of the organizers. He used to live in Austin, but is now somewhere in East Texas.

#2 was a developer near Dallas. He has been to a few meetings in the past.

#3 was one of our developers in OKC (Still the Artist Known as Number Three).

#4 was a developer in San Antonio. I think this was his first time.

#5 was a developer in Seattle, who was originally from Romania.

This meeting was just a few days after EmacsConf 2022. #3 and #4 listened to some of the talks as they happened.

They both listened to Richard Stallman’s talk What I’d like to see in Emacs. They agreed with Stallman that configuring Emacs with Javascript would be a bad idea, although they were against it for more technical reasons. I think using Javascript for anything is a bad idea. Stallman said he wants to be able to edit formatted documents with a WYSIWYG interface. #4 said he asked Stallman about this during the talk, since #4 felt that a WYSIWYG interface would tie information to its style or appearance and guide or possibly limit the users’ thinking, whereas a text-first philosophy allows people to process information they way they want. Both he and #3 did not feel Stallman really answered the question, or had thought it through very well.

The WYSIWYG topic led to lots of talk about what sites can run in Emacs, cookies, JS, and what should Emacs be able to do.

#3 thought it was interesting that Stallman does not use packages.

Someone mentioned that they were shocked Stallman did not know what Magit is. I did some digging, and the only reference I could find to this was a post on the Emacs-development mailing list in 2014. AustinATX did not start having evening meetings until 2016, so I was not as plugged in to Emacs as I am now. I have heard in the past few years that some people have gotten into Emacs because of Magit. I have no idea if that was the case in 2014.

There was some talk about EmacsConf and conferences in general. #3 liked that the talks at EmacsConf were short, like lightning talks, and that left more time for Q&A. #2 said conferences exhaust him. I mentioned that every time I have gone to a conference with two tracks, there will always be a time slot with two talks on topics that interest me, followed by a time slot in which neither topic interests me. A few times I went to conferences and stayed at a less expensive hotel; each time I wound up paying the difference in parking or cab fare.

#3 want to go back and watch EmacsConf presentation on eshell. #2 watches videos by browsing feeds from sites rather than sites themselves with elfeed; for YouTube he uses elfeed-tube and youtube-sub-extractor. I will have to look into these. I use emacs with the –no-window-system switch, so I will have to make a new alias to try this stuff. Anything GUI or pretty does not render when Emacs is run in terminal mode.

At some point I mentioned I bought Mastering Emacs over the holiday weekend. The author ran a sale for 20% off. He runs sales a few times a year. Keep an eye out for a good deal.

#3 said the Crafted Emacs community has moved to Mastodon. He did not give a link, although there is a Mastodon server dedicated to Emacs. There is a Mastodon client in Emacs hosted on Codeberg.

There was talk about ChatGPT. Most of us were worried about our futures.

#2 had a suggestion for next meeting: pool ideas about what we want in Emacs, make a list, maybe make something.

#1 would like a theme that adjusts based on time of day, and someone suggested Circadian. This question came up in the January meeting. I guess they are not reading this site.

#4 wants a starter kit for specific workflow. I cannot remember what it was. This led to a lot of discussion about what starter kits should do, and can non-experts run multiple configs, how easy is it to get started.

#5 asked if anyone else uses Emacs on Windows. I mentioned I use it to keep notes in Org mode. #2 has Linux on a VM on Windows, and provided a link to running Emacs on Windows with WSL2.

#5 has issues with using Emacs in Windows shop: Can he share his tools/scripts with others at his job? Maybe not, but if it makes him more productive than everybody else, who is using the wrong tool? #5 also asked for tips on how to learn Emacs; I think he said this was his fifth attempt, but I also got the impression he is proficient with Emacs, and maybe Emacs Lisp as well. #2 talked a bit about how he learned Emacs, getting through a list in Org mode, starting small and building up. I pointed out nobody looks at JDK javadoc and says, “There are thousands of classes, I could never learn it all.” They learn enough to get something done, then learn more as they need it. But for some reason people seem to freeze learning Emacs. #2 said it can be a long road, but it is worth it. He decided to go cold turkey with IntelliJ and just use Emacs. He uses Emacs because it helps do things he cannot do with other tools. He also said something that could go on a tombstone: “The road to simplicity is never straightforward.” Or he was just quoting Yogi Berra.

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”. 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. 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 housed at the Dujcev Center at Sofia University in Bulgaria; image from Wikimedia, assumed allowed under public domain.