Ibuffer Configuration

The Emacs Cat has an informative post on his Ibuffer Configuration. Although it’s built in, ibuffer isn’t enabled by default so you have to load it with require, use-package, or whatever you use for such things. It’s a nice replacement for the default list-buffers.

The Emacs Cat uses ibuffer to group his buffers logically. For example, all his C/C++ buffers, all his Python buffers, and so on are grouped together. That makes it easy to locate relevant buffers and keep things organized if you have a lot of buffers open. He also integrates icons (via all-the-icons-ibuffer) to make it easy to distinguish buffers. See his screenshot to get an idea of what it looks like.

I do something similar. I don’t care for icons in my listings so I skipped that step and I use the ibuffer-vc package, which also groups packages but collects them according to their version control (magit, in my case) category.

All-in-all it makes looking for buffers easier and helps you stay organized. The Emacs Cat uses the buffer listing a lot more than I do so he has F5 as a shortcut for it.

He also mentions Charles Choi’s Casual Ibuffer that he uses to provide a transient menu for the ibuffer listing. If your buffer listings are long, this can be a big help in adjusting the listing dynamically for your current needs.

If you use buffer listings, you should definitely take a look at the Emacs Cat’s post. He’s got a lot of good ideas.

Posted in General | Tagged | Leave a comment

Writing Instruction Manuals In Org Mode

JTR over at The Art Of Not Asking Why has an interesting post on how how he writes instruction manuals. The post was in response to a question from someone on Reddit.

As for Org Mode itself, he doesn’t have a lot to say. He sets some metadata to get rid of the table of contents, enable inline images, and turn off section numbering. He also sets org-export-with-broken-links to t so that he can still export his document even if the link has changed. He doesn’t worry about the links until it’s time to publish because—in his environment—they tend to change often.

JTR uses Denote as a sort of front end to Org Mode. He uses some of its features to organize and associate his files and to keep track of when they were written. He also uses Pandoc for export because of its support for Word templates. Again, that’s something required in his environment.

The rest of his post talks about the procedures he uses for writing his documentation. For example, he uses the Microsoft Style Guide—even though he doesn’t like Microsoft—because it ensures consistency in his documents and because most of his users are on a Microsoft platform.

Interestingly, he’s parsimonious with the depth of his sections. He feels that a depth of more than two is an indication of an overly complicated set of instructions and a signal that they should be rewritten.

One thing I learned from his post was the use of target=blank (target=_blank is probably better; see this post for the difference) to force a link to open in another tab. Sadly, Org Mode does not have support for this so you have to add it manually.

If you have to write documentation and you’re an Emacs user, take a look at JTR’s post. It may have some useful ideas for you.

Posted in General | Tagged | Leave a comment

Disqus Problem Update

I think I’ve resolved the Disqus problem. At least I was able to respond to an Irreal comment. If things are indeed resolved, I should be able to respond to your comments as usual.

Posted in General | Leave a comment

🥩 Red Meat Friday: Hell On Earth

Did you ever wonder what Hell on earth would look like? Here you go.

Imagine having to rely on Windows XP, Windows 3.11, or even MS-DOS to get your daily work done. Imagine waiting 15 minutes for your computer to boot up so can get to work. Imagine the daily terror that your computer hardware might fail and that important tasks couldn’t get accomplished. Welcome to the life of people stuck in the netherworld of ancient technology.

These people aren’t working at Aunt Millie’s Yarn Shop; some serious infrastructure that we use everyday depends on this technology and is having a hard time escaping. Here’s just one anecdote from the article:

The trains in San Francisco’s Muni Metro light railway, for example, won’t start up in the morning until someone sticks a floppy disk into the computer that loads DOS software on the railway’s Automatic Train Control System (ATCS).

To get an idea of the problem, imagine what happens when SF Muni’s floppy drive fails. Are they even manufactured anymore? The SF Muni doubtless has spares but that’s just living on borrowed time.

Why not just upgrade, you say. It turns out that that’s much harder than you might imagine. Consider Scott Carlson who depends on CNC machines for his woodworking business. That machine was built around the time Windows XP came out and is tightly integrated with it. Carlson is a woodworker not an IT export so he’s pretty much stuck. Take a look at the linked article to see some of the other examples. Read it and be grateful that you don’t live in that world.

Posted in General | Tagged , | Leave a comment

Fraga: Elevator Pitch

As you can probably tell, I’ve become obsessed with Emacs Elevator Pitch posts. I find them particularly instructive because they require the writer to boil down what they like about Emacs to its essence. The latest offering is from Eric Fraga, who I occasionally mention on Irreal.

Fraga begins with the pitch proper. The strength of Emacs, he says, boils down to three of its essential properties:

Discoverbility
Emacs’ builtin help system means that you can always discover what every command, function, and even keystroke does. That help even includes links directly to the source code.
Stability
Ways of working and code you wrote years ago is likely to still work today.
Malleability
This, according to Fraga, is the most important aspect of Emacs. Rather than having to adapt to Emacs’ way of doing things, you adapt Emacs to do things your way. This can be as simple as changing a binding for a command or as complex as modifying or replacing one of Emacs’ builtin functions.

Fraga continues his post by illustrating that last point. He uses Gnus to read his Mastodon toots via the RSS feed. The problem is that Gnus doesn’t provide very helpful information about a toot so it’s hard to know if it’s worthwhile reading it or not.

Fraga solved this problem by writing his own function to display the information for each toot and replaced the Gnus function with it. Take a look at his post to see the difference. Fraga accomplished this by making basically trivial changes to the existing function and using it in place of the original one. Fraga provides the code so you can see how easy it really was.

This is a nice post because it lays out the basic pitch and then illustrates its main point with an actual example. Take a look.

Update [2025-08-29 Fri]: Added link to Fraga’s post. Thanks to William R. Greene for the heads up.

Posted in General | Tagged | Leave a comment

Eric MacAdie’s Elevator Pitch

Although, as I have said, the Emacs elevator pitch is a difficult challenge, several people have stepped forward to meet it. Eric MacAdie is one of those people and has provided his own contribution. His approach is to offer some talking points for such a pitch without making an actual elevator pitch himself.

His points, it seems to me, are an excellent précis of what we love about Emacs and why we’re still using it after other editors have come and gone. His post is well worth reading but here’s a short summary of his points.

  • When you’re starting, use a a cheat sheet. It’s not a sign of weakness.
  • Don’t try to learn everything at once. After you learn the basics you can start worrying about living your life in Emacs.
  • In Microsoft products, everything seems easy in the beginning but you soon reach a point where everything is hard. Emacs is just the opposite: at first things seem hard but you soon reach a point where you can do anything you want.
  • Emacs is older than the IBM CUA standards and has its own way of doing things. Instead of asking why Emacs doesn’t follow the CUA standards, perhaps you should ask we everyone else isn’t following the Emacs standards.
  • Most things in Emacs don’t change. The things you learned 30 years ago still work. At the same time, Emacs continues to evolve and add new capabilities.
  • Completion. Completion is one of Emacs’ magical powers. You don’t have to memorize the key chords for every command. Rather you can use Meta+x and an approximation of the command name to bring up list of candidates. Seventeen years on, I’m still using this technique to find seldom used commands.

As I said, MacAdie’s post is a good summary of reasons to use Emacs. Take a look and see if you don’t agree.

Posted in General | Tagged | Leave a comment

A Casual App For Gnuplot

I really like Gnuplot. It can take a bit of raw data and produce a first class graph in many different formats. There are two problems:

  1. It’s command set is truly baroque and hard to learn
  2. I don’t use it often enough to learn that baroque command language

That second problem means that whenever I want to use Gnuplot I have to spend time with its, admittedly excellent, manual. So it’s a two edged sword. On the one hand I don’t use it enough to learn the command set and on the other hand it’s so painful to figure out how to do things that I avoid using it if I can.

Charles Choi feels my—or more likely his own—pain and has put together a prototype Casual app for Gnuplot. He has a video of it in action and it seems really nice. Choi says, though, that it’s far from complete and that it would probably take three or four months of full time effort to get it up to production level. That’s a large commitment and he wonders if it would be worth the effort. In particular, he wants to hear from prospective users if it’s something they’d want and use.

So far, the comments to his post seem overwhelmingly positive. It appears that there’s a real desire for something like this. You can make it happen in two ways. First leave a comment to his post or one of the places he’s linked to expressing your interest in such an app. Second, consider supporting Choi’s work. It can be as easy as simply buying him a cup of coffee.

Update [2025-08-28 Thu 12:01]: Causal → Casual in Title. Thanks to Andreas Elder for the heads up.

Posted in General | Tagged | Leave a comment

Karl Voit: Why Markdown Is A Disaster

If you were paying attention to my response to Watts Martin’s post on Markdown, you probably concluded that Karl Voit is not a fan of Markdown. I’ve been following Voit’s views on light weight markup languages and personal information management for a long time and have a lot of respect for his views.

I was, therefore, delighted to see his long and detailed post on why he thinks Markdown is a disaster. He says, contra Martin, that the plethora of Markdown dialects really is a significant problem and, more importantly, represents a trap for the user. His post spends a long time on that issue so you should see his post for the details.

One of the claims in my response to Martin and elsewhere is that Org mode markup syntax—what Voit calls Orgdown—and Markdown are essentially the same and differ in only trivial ways. Voit rejects this completely. His post spends a long time discussing that and why he thinks that Markdown syntax is much worse than Org mode’s. Read his arguments and see what you think.

I agree that the many different markups for accomplishing the same output is a problem and, for the most part, I agree with him that some aspects of Markdown design are suboptimal but I don’t think fatally so. For example, rather than having * and _ do the same thing it would be better to have one for bold and one for italics similar to what Org mode does. Still, all-in-all, I stand by my belief that the syntax of the two markups differ only trivially.

To be sure, I agree that Org mode syntax is superior and that the Org mode environment is far and away better than Markdown’s. The only remaining question is what to do if you aren’t an Emacs user or if you have collaboration issues. Voit says there are plenty of tools for dealing with Org mode documents that don’t involve Emacs but even though I’d love this to be true, I still think that as a practical matter if you’re going to write Org documents you really need to be using Emacs. Even Voit agrees that Emacs provides the best environment but we differ on whether non-Emacs Org mode is practical. My view: possible, yes but not practical. Guys like Voit can and do make it work for them but I doubt it will see widespread adoption.

Posted in General | Tagged , | Leave a comment

Disqus Problem

I’ve having a problem with Disqus that prevents me from replying to comments on Irreal (or probably from commenting at all with Disqus). Disqus seems aware of the problem so I expect they’ll release a fix shortly.

In the mean time, be assured that I’m not ignoring you, I just can’t get Disqus to accept my comments.

Posted in Administrivia, Blogging | Leave a comment

A Program That Molds To Your Needs II

The other day when I wrote about Álvaro Ramírez’s elevator pitch post, I mentioned that one of the things I liked was that his list of unexpected tasks that you could accomplish with Emacs contained links to posts where he explored that particular task in more depth. One of those posts was “Help me learn Japanese”. Since I’m learning Spanish, that seemed like a nice post to revisit.

I remember reading it 8 months ago when it first came out but thought that I hadn’t written about it. After I wrote this post, I checked just to make sure and oops, I had written about it. Since the previous post seems a bit better written to me, I invite you to go read it and I’ll delete this version. Sorry for (my) confusion.

Posted in General | Tagged | Leave a comment