LSP-mode Versus Eglot

For reasons that I’ll explain below, this is not an informed post. Rather, I’m just passing along something that I found on the Web and that was merely one man’s opinion. Still, it seems like useful information so I’m repeating it here but caveat emptor is definitely called for.

Over at the Emacs subreddit, kmlkclkmlkcl says that after two years he’s changed from LSP-mode to Eglot and he’s really happy with the change. He says, “It just works”, feels like it’s part of Emacs and not a third party app, and that unlike LSP-mode it was easy to configure and get working.

As I say, this is uninformed commentary on my part. Probably because I’ve spent most of my programming career programming in C and various Lisp dialects, I’ve never felt the need for LSP mediated programming. I know you can use it with C but why bother? There aren’t objects with a ton of methods to negotiate. At most you have to deal with some libraries but to an experienced C programmer, these become second nature.

Added to that, I really hate having my editor pop up miscellaneous information—it’s why I don’t use the automatic completion so beloved by others—so the last thing I want is my editor telling me what function or method to call. I prefer to be left alone when I program; it’s probably why the idea of pair programming fills me with loathing and dread.

The point of all this is that I’m the last person to ask about the relative merits of LSP applications. But I do think kmlkclkmlkcl has some useful information so I’m passing it on.

Posted in General | Leave a comment

Charles Choi Imagines Some New T-Shirts

I wear T-shirts pretty much exclusively but I don’t have any Emacs T-shirts. The designs just don’t appeal to me. Charles Choi to the rescue. I really like the first two.

Choi generated them with Gemini as a lark so they’re not really available but I’m sure it would be easy to get some made by providing the images to any of several companies that silk screen T-shirts.

Regardless, this is just a quick, whimsical post to help you get over hump day

Posted in General | Tagged | Leave a comment

The Emacs Writing Experience: Ridenour

This is another post about the Emacs Carnival on Writing. This time it concerns a contribution by Randy Ridenour, a Philosophy Professor at Oklahoma Baptist University. I especially like stories like his because he’s a non-technical user who nevertheless made the effort to learn Emacs and bend it to his will.

You can read about his editor journey here but the interesting part, for me, is in his Emacs Writing Carnival post. If you read his previous post about his editor journey, you’ll see that he’s tried a (surprising) number of different editors but has settled on Emacs.

It was not love a first sight. Like many of us, he flirted with Emacs but had problems with it so he moved on but he kept hearing Emacs’ siren song and eventually returned. Later, he wrote his Emacs Carnival post in which he revisited his original objections to Emacs and why they no longer apply.

He notes that the mistake he made in his earlier rejection of Emacs was to think of it as just another editor that expected you to adapt to its way of doing things. Emacs, of course, is not like that. It’s often described as an editor kit or as editor building material. Once he realized that, Ridenour made his peace with Emacs and has been a faithful user for more than a decade.

He also discusses the difficulties in publishing as an Emacs using, liberal arts professor: Your end product must be submitted as a Word document. That’s not too bad when you’re a solo author because you can write in Org and export to Docx but when you have coauthors—who are almost certainly not Emacs users—sooner or later you have to descend into the seventh circle of editors and use Word or one of its siblings.

If you enjoy hearing about how others use Emacs, take a look at Ridenour’s post.

Posted in General | Tagged | Leave a comment

The Wages Of Complacency

I tell you and tell you and tell you but you don’t listen. “Don’t entrust the only copy of your data to a third party”, I say. “But I’m a good guy and I’m not doing anything controversial. Besides, I’m using a serious, world class service to store my data. What could go wrong?”, you answer.

Ask Abdelkader Boudih. He’s an open source developer who not only isn’t doing anything wrong but is, actually, making all our lives better by contributing to the Ruby community. His work is, in fact, often used by AWS, the villain in this story.

Boudih is not Aunt Millie. He was careful to make sure that his data was backed up in multiple locations and that his encryption keys were stored separately from his data. In short, he followed AWS’ own best practices. It did him no good. After being a customer for 10 years, Boudoir’s account was deleted for unspecified reasons and his data was lost. Despite tenacious effort on his part, Boudih was not able to get a reason for the deletion.

But, as I say, Boudih is not your Aunt Millie. He has some compelling speculation as to what actually happened. See his post for the details but the TL;DR is that AWS support accidentally deleted his data and that rather than face the consequences of that with their management, pretended ignorance.

Boudih’s mistake was entrusting his data to a single third party. It doesn’t matter how many times they replicate it, they are still a single point of failure. They may go out of business—unlikely in Amazon’s case, admittedly—or they may decide for opaque internal reasons to simply disappear your data. Either way, your data is gone and you will almost certainly encounter a stone wall when you try to find out why.

This isn’t just an Amazon problem. Google is infamous for this sort of thing. And it’s getting worse because “AI” is now making these decisions. Nothing to worry about there unless you don’t like glue on your pizza.

Don’t become an Irreal poster child for this sort of thing. Make sure that you always have a local backup of your data or, at the very least, that it’s saved with more than one provider. Actually, the only safe option is keeping your own copy. Backup drives1 are pretty cheap. Way cheaper than losing your data.

Footnotes:

1

The irony of this link pointing at Amazon is not lost on me.

Posted in General | Tagged | Leave a comment

Org Workbench

I’ve been fascinated with the Zettelkasten idea ever since i read Sönke Ahrens’ book How To Take Smart Notes. I just came across a new project by Yibie called org-workbench that marries the idea of a Zettelkasten card to all or parts of one or more Org files.

The idea is that each heading and its content is imported to a single card. Subheadings are numbered in the way that Niklas Luhmann used for his famous Zettelkasten. The cards themselves are independent of the original Org files so the cards can be manipulated without affecting the source files, although there is a facility to sync them.

On the workbench, all the cards are at the same level so it’s easy to move them up and down. That means, for example, that you can move a card from one subtree to another, something that’s not easy—without cutting and pasting—with the Org file itself.

The description isn’t clear on the exact way the package functions and I haven’t had a chance to try it out so I can’t be too specific on how it works but it seems like a nice package for anyone who likes the Zettelkasten method. Take a look at the README for more details if you’re interested.

Update [2025-08-04 Mon 11:28]: See Yibie’s comment below for some clarification on the Luhmann numbering.

Posted in General | Tagged , , | Leave a comment

There’s A New Carnival In Town

After the really great July Emacs Carnival on the writing experience hosted by Greg Newman, Jeremy Friesen has stepped up to host the August carnival. This month the subject is “The Emacs Elevator Pitch”. The idea is that you have a captive audience in an elevator for the short time it takes the elevator to get to its destination and you have to explain why they should be using Emacs.

There’s some latitude. As Friesen says, maybe the elevator is just going to the next floor so your time is severely limited. But maybe it gets stuck so you can harangue your audience for the time it takes for the maintenance people to rescue you all from the elevator.

Regardless, you have some limited time to convince people they should be using Emacs. What would you say? What reasons would you offer that taking the time and making the effort to learn Emacs is a worthwhile endeavor?

My own thoughts are that Emacs is a wide ranging program that does many things and can be used in many ways. I’m not sure that I could form a convincing argument “in 25 words or less” as the TV contest ads used to say. In any event, it will be interesting to see what people come up with. If you have some ideas about the matter, write them up and let Friesen know.

Posted in General | Tagged | Leave a comment

Steve Jobs’ Cabinet

Over at Perfect Days, Padraig has a post that really resonated with me. He begins by quoting Steve Jobs on cabinet making. Jobs says that a real craftsman wouldn’t use a piece of plywood on the back of a beautiful cabinet even though it will be against the wall and no one will ever see it. The thing is, according to Jobs, is that the carpenter will know it’s there and that it would be an insult to his aesthetic sensibilities.

Padraig remembered this quote when he took apart a MacBook Pro to replace a speaker. He was struck by how elegant its construction was. It was the same principle. Hardly anyone would ever see the inside of the computer but it was still built as if it was visible to all.

This commitment to excellence, even when it’s not visible is, to me, the essence of good engineering. Not meeting a deadline. Not meeting some arbitrary Wall Street expectation. Not making a fortune in the marketplace. But being able to sleep at night knowing the thing you built is as beautiful inside as it as outside. That’s what we mean by great engineering.

Sadly, I think we’ve lost some of that. Maybe it’s just a matter of being a geezer and wanting kids to get off my lawn but I see less and less of that commitment. I’d guess that that’s because many people no longer think of programming as a craft but as just another job to get through with the least amount of pain. To be sure, the urgency to get the product out the door no matter what was always there but in the old days™ there was more push back from engineering, Now, many don’t seem to care. It’s why we can’t have nice things.

Posted in General | Tagged | Leave a comment

More From Casual

Charles Choi has announced some upgrades to his Casual Suite. He’s added two new interfaces along with the appropriate menus:

  1. Compile for compilation-mode and grep-mode
  2. Elisp for emacs-lisp-mode

He also makes explicit the support for an Eshell interface that he introduced earlier but didn’t write much about. Finally, a big part of this release is improved documentation, which he writes in Org mode, exports to Texinfo, and then formats as Info files and HTML.

As usual, transient menus are provided for each of the modes Choi supports. If, for example, you use the compile command all the time, you’ve likely internalized the auxiliary commands you need to negotiate the mode. On the other hand, if you only occasionally invoke compile, you may not remember all the related commands and will welcome the ability to popup a menu with those commands. As I’ve said before, having these menus available but hidden by default is a win. They only appear when you ask them to and then they disappear again.

Choi has put a lot of effort into Casual and it continues to improve and cover more areas. Irreal, as most of you know, is not a fan of menus in general but I do like the idea of a menu that pops up only when you ask for it. It’s the same concept as the excellent which-key: it’s there to help you discover commands that you don’t use often enough to remember.

Posted in General | Tagged | Leave a comment

Emacs Carnival Writing Experience: Choi

As you all know, I’m really enjoying Greg Newman’s Emacs Carnival: Writing Experience blog posts by various Emacs users who do their (non-code) writing with Emacs. I’ve commented on several of them and today I want to comment on another. This one is from Charles Choi, himself a frequent subject of Irreal posts.

Choi’s contribution makes a point that is obvious when you see it but might not occur to you out of the box: a lot of the power of Emacs comes from its ability to deal with text structures. What does that mean?

To a first approximation, text editors deal with characters and their manipulation. You insert a character, you delete a character and maybe you copy or delete one or several characters and insert them somewhere else. The point is, you deal mostly with characters. Emacs is different. It recognizes various text structures in addition to characters. Trivial examples are words, sentences, lines, and paragraphs. A few other editors deal with some of those as well but Emacs deals with more.

For example, Emacs can deal with s-expressions, delimited structures such as quoted text or parenthetical text. The thing is, Emacs has several commands that deal specifically with these structures. That means that an Emacs user can think in terms of operating on those structures instead of just characters. That makes dealing with text easier and more efficient.

There’s more to Choi’s post than just this point so you should take a look at it. He mentions, for example, his Casual EditKit that makes some of those commands available in a Casual menu. Whether you like the idea of a menu or would rather internalize the commands, Emacs’ rich set of commands for dealing with text structures is a real win.

Posted in General | Tagged | Leave a comment

Eric Fraga’s Emacs Writing Carnival Entry

I’ve been a long time fan of Eric Fraga’s quiet work in the Emacs sphere. He an academic who, as far as I know, doesn’t work directly on Emacs development but is nevertheless active in the community making suggestions and answering questions. If you check the Emacs Devel list or the Org Mode Devel list, you’ll see his name all over the place. He’s even stopped by Irreal a couple of times.

I was, therefore, delighted to see that he had make a contribution to Greg Newman’s Emacs Carnival Writing Experience. His experiences are worth listening to because he has been using Emacs and Org mode to write his technical papers for a long time. He works in process systems engineering so he can get away without having to make his submissions in the format whose name must not be mentioned.

His Emacs Carnival contribution discusses some of the advantages of using Emacs/Org mode for writing his papers. Those include the usual ability of combining code and prose in the same file, having the code be executable, and having it modify the prose in the file. He leverages that ability to generate diagrams and graphs directly from data in the paper. That’s a real win because the diagrams and graphs always reflect the data in the paper and don’t get out of sync.

Another example of the power of Emacs that he gives is almost trivial but vastly underrated: abbreviations. If there are words that you use all the time—especially long words or words that are difficult to spell—this can be a real time saver. See Fraga’s post for an example.

I’m really enjoying the Emacs Carnival Writing Experience and was glad to see Fraga share his views.

Posted in General | Tagged , | Leave a comment