The Case For Markdown

My old friend and ex colleague Watts Martin has weighed in on the Markdown issue. Martin is a technical writer and novelist who regularly uses Markdown in his work. Lately, he’s become a bit peevish about the periodic spasms of comments claiming that Markdown isn’t suitable for “serious” writing.

His post is a fairly long article that lays out his reasons for believing that Markdown is the best lightweight markup language for writing. I’ve often said, most recently here, that it is, in fact, Org mode that’s the best lightweight markup language. One of my reasons for believing that is that while there’s only one Org there are several dialects of Markdown. Karl Voit believes that this is a fatal flaw for Markdown.

Martin claims that this is largely a straw man. He says that 99% of the time the various dialects are the same and differ only in edge cases that are easily avoided. He also says that if your goal is simply to make it as easy as possible to write text that you can convert to HTML—and PDF?—nothing is better than Markdown.

You see that argument often in the tech sphere. It’s usually in the form a complaint that application X provides too much information. In this case it’s the argument that other markup languages do too much. I hate that argument. Yes, Org mode and the others can do more than simply provide an easier way to write HTML but you don’t have to use those features. If you want Org mode, say, to do only what Markdown does, there’s nothing stopping you. It’s not harder—it’s simply a matter of ignoring the wider Org capabilities.

Martin also says that he finds Markdown easier to read in its source form. I still believe, as I claimed in my most recent post on the matter, that Markdown and Org mode syntax differ only in trivial ways—although Voit strongly disagrees—and that they’re essentially the same. If anything, I find Org slightly easier to read but that’s probably just a matter of being used to it. My only real complaint against Markdown syntax is that there are widely different markups for producing the same result.

At the end of the day, I think Martin can rest easy. Nobody but the usual ankle biters are claiming that Markdown can’t be used for serious writing. For non-Emacs users it’s probably the best choice. For Emacs users, there’s no reason other than collaboration to prefer it to Org. At least that’s what I think. Of course, if you are an Emacs and Markdown user, Emacs has you covered with markdown-mode.

Posted in General | Tagged , | Leave a comment

Friesen’s Elevator Pitch

Jeremy Friesen, who is hosting this month’s Emacs Carnival, has his own offering for the Elevator Pitch. As I said before [1, 2] the elevator pitch is particularly difficult because you have to make a persuasive case for Emacs in the time it takes for an elevator ride.

Randy Ridenour and Álvaro Ramírez met that challenge by providing a single simple statement and a list of ways of using Emacs for surprising tasks, respectively. Friesen begins by listing a number of reasons that you might want to try Emacs and then starts asking questions of putative computer users about their current software.

The TL;DR of Friesen’s pitch is that while Emacs may look retro it’s really good at helping you tell your computer what to do. There is, he says, no need to try to do everything from the beginning. Better to just start with writing or reading documents and move on from there.

As with Ramirez’s post, Friesen injects a bit of humor regarding the absurdity of haranguing people in a elevator about something they’ve probably never heard of and certainly don’t care about. But the point of the exercise is to force you distill your reasons for being an Emacs user to their essence.

Posted in General | Tagged | Leave a comment

Álvaro’s Elevator Pitch

Álvaro Ramírez has weighed in on the Emacs Elevator Pitch challenge. Like Randy Ridenour’s response, Ramírez captures the spirit of the challenge perfectly. His answer is, to be sure, much longer than Ridenour’s but it’s easy to imagine it actually being delivered in an elevator.

Ramírez begins by saying that although Emacs seems like just an editor, it is, in fact, a portal to a world where everything works the way you want it to. He goes on to illustrate his point by presenting a long list of many of the things he’s done with Emacs. It’s a lengthy list. Just barely short enough to fit in a multi-floor elevator ride.

One of the things I liked about his list was that most of the items contained a link to the blog post that described that particular feature and how he implemented it. If you’re interested in small projects that leverage Emacs to accomplish some nominally non-editing function, Ramírez’s post serves as in index into those he’s done.

Finally, at the end of his post, Ramírez injects a bit of humor that neatly captures the absurdity of trying to make a case for Emacs in the time span of an elevator ride. Still, the challenge is interesting because it forces you to distill your reasons for loving Emacs to its essence.

Update [2025-08-22 Fri 11:04]: Added link to Ramírez’s post.

Posted in General | Tagged | Leave a comment

Video Trimming In Emacs

On Monday, Marcin Borkowski (Mbork) published a post on extracting a video clip from within Emacs. It seemed like a useful tool to have and I was going to write about it but Sacha mentioned it on Emacs News before I got a chance. Unless I have something pertinent to add to the discussion, I generally don’t write about things that Sacha has already covered.

This time, Álvaro Ramírez came to my rescue by publishing his own take on the problem. Ramírez says that he’s been meaning to implement such a feature to his Ready Play Mode and that Mbork’s post gave him the nudge that he needed to do it. His post has a nice animated GIF that shows the result in action. It’s pretty impressive.

Ramírez says that the whole thing took about 300 lines of (Elisp) code and rather than adding it to his post, he provided a pointer to it in his repository because, as he says, he’s probably going to be tweaking it so you might as well get the latest version.

If you’re an Emacs user and sometimes want to extract a clip from a video, you should take a look at these two posts.

Posted in General | Tagged | Leave a comment

The James Bond Logo

As a teenager, I loved the James Bond novels. I would buy them from the supermarket when they appeared and even drove to the library a couple of towns away to check out the ones I couldn’t find in the supermarket paperback stand. I read them all and later I enjoyed seeing the early movies.

All the movies were fun, I guess, but the later ones became a bit silly. After Sean Connery quit the franchise, I pretty much lost interest in the movies but still saw most of them if only out of habit. As an adult, the James Bond stories, other than the annual movie, faded from my consciousness. A couple of years ago, I reread my childhood favorite, On Her Majesty’s Secret Service and found it a bit boring.

Lately I’ve rekindled my interest in Bond by reading Jeffery Deaver’s Carte Blanche.. Ian Fleming is, of course, long dead but Deaver has, I think, captured his tone well and the story seems as if it could have been written by Fleming.

None of this would be worth writing about were it not for this post from Dariing Fireball. If you’re a Bond movie aficionado, you’ll be aware of the iconic Bond logo formed from “007” in the shape of a gun. Here’s an example. If you’re like me, you probably thought it was sort of cool but never gave it much thought. It turns out, though, that there’s an interesting back story about the logo. The Daring Fireball post is reporting that Joe Caroff, who designed the logo, has died at 103. Take a look at the post to see the story of logo and how Caroff came to design it. It’s an interesting piece of Bond lore.

Posted in General | Tagged | Leave a comment

Hey! I know. Let’s Make Another Boeing

In an apparent attempt to prove that stupidity is a bipartisan trait, the current administration has decided to force Taiwan to acquire a 49% interest in Intel. The U.S. government thinks that the survival of Intel is essential to the national interest and is using the threat of tariffs to force the Taiwanese chip manufacturing sector to essentially merge with Intel.

They have some precedent. A little more than 25 years ago, the Clinton administration decided that McDonald Douglas was in trouble but needed to survive so they pressured Boeing into merging with them. We all know the result of that. The suits from the failing McDonald Douglas captured control of the new company and destroyed the engineering culture that had made Boeing the apotheosis of aeronautical manufacturing. What happened next was that planes started falling from the sky.

If Intel is failing it’s because they’ve made some bad decisions not because they need some new patsy’s money. Extorting money from Taiwan will probably do little to solve Intel’s problems and it could, as with Boeing, contribute to the failure of both Intel and the Taiwanese chip industry. I’m pretty sure that that wouldn’t be in the U.S. national interest either.

Government meddling in engineering is even worse than management doing so. It almost always ends in tears and the purported benefits never seem to appear. It’s practically a cliche that government attempts to pick winners and losers never achieve anything but grief. But, it seems, we never learn.

Posted in General | Tagged | Leave a comment

Revisiting Recent Files

When you open a file, do you like Emacs to remember where you were when you last visited the file and return you to that place? I’m probably a minority but I find that behavior annoying. Of course, I can see why people would like that capability. The nice thing about Emacs is that you get to choose. As with most things in Emacs, you can have it your way.

James Dyer is one of those people who like having Emacs take him right back to where he left off when he opens a file. It’s a small part of his larger workflow for dealing with recent files. What he wanted was a list of recently used files, ordered by most-recently-visited, that would allow him to easily revisit a file and be positioned at the cursor’s last position. He discovered that recentf-mode and save-place-mode did almost what he wanted. The only problem was that recentf-mode opened its list of files in a separate buffer. Dyer wanted a more completion-like interface. It turns out that recentf-open-files does that but, annoyingly, the files get reordered.

Dyer solved this with a tiny bit of Elisp. You can read the details in his post. If you, too, like being able to revisit recently edited files and be taken back to the exact position where you left off, take a look at his post.

To me, the most interesting part of Dyer’s post comes at the end. His changes, he admits, are a small optimization but one that makes his workflow a tiny bit smoother. As he says,

That’s the kind of workflow improvement that makes every day at the keyboard just a little bit more pleasant, and those small pleasures add up to something significant over months and years of coding.

Who can argue?

Posted in General | Tagged | Leave a comment

The org-copy-visible Command

This post is about a posting by Marcin Borkowski (mbork) from a couple of weeks ago that I’ve had sitting in a browser tab since then. Sacha already covered it so I wasn’t going to replow that ground but I kept thinking that the day would come when I would need to know how to copy some Org mode text without including the link markup. So this post is sort of a note to myself but also to anyone else who missed seeing the original or its mention in Emacs News.

The basic idea is that you have some Org text that contains links and you want to copy it to some
inactive text where the links aren’t live. Rather than have the link appear as [[https://someplace.com][a link to some place]], you’d like them to appear simply as a link to some place.

This is Org mode and Emacs so of course there is a way. Org has the command org-copy-visible that does just what you want. It even has a keyboard shortcut: Ctrl+c Ctrl+x v.

You’re probably not going to need this often but when you do, it can save a lot of tedious labor. That’s why I’m recording it here so that I can find it later when I need it.

Posted in General | Tagged , | Leave a comment

Emacs 30.2 Has Been Released

Eli Zaretskii writes that Emacs 30.2 has been released and is ready for download. It’s a bug fix release but still worth installing. As usual, I built mine from source. I had a bit of difficulty downloading the tar and signature files because the mirrors hadn’t yet updated. By the time you read this, the mirrors should be up to date.

I’m writing this in Emacs-30.2 and haven’t experienced any problems. Once I got everything downloaded, the compile and install experienced no problems.

As usual, I want to express my thanks to Eli and all the other devs who selflessly contribute their time and efforts to keep Emacs the best in class editor. These guys are heroes and if you ever find yourself in the same bar as one of them, drinks should be on you.

Posted in General | Tagged | Leave a comment

What Is An Emacs Page?

I’ve been reading Peter Provo’s’ book Emacs Writing Studio and one of the points he makes early on is that “word processing” is different from what it used to be. The traditional paradigm considers word processing from the point of view of the printed page but that’s no longer a useful way of looking at it. Today the written word may be published as HTML on the Web, as an e-book, as a text file, or even as a traditional printed book. Prevos’ point is that GUI word processors are no loner fit for purpose.

Oddly, Emacs never embraced the traditional paradigm, probably because it started life as a code editor and only later came to be used for writing books and other “published” entities. That raises the question of what an Emacs “page” is and how you work with it.

Many Emacs users are probably unaware that there is such a construct. The closest thing they’re familiar with is the “current screen”, which can be paged forward and backward with Ctrl+v and Meta+v. But how much data is displayed on the that screen depends on how many lines there are in the current window.

A “page” is different. It doesn’t depends of the window size and doesn’t even necessarily have a uniform size even in the same file. A “page” in Emacs is simply the text between two special markers—line feeds, ^L, be default. Hardly anyone uses them these days but they can be useful for organizing a text file into sections for easy navigation.

Charles Choi notes that although there are forward page (Ctrl+x ]) and backward-page (Ctrl+x [) commands, they don’t act in the way you might expect, which is the put the top of the page at the top of the screen.

Naturally, Choi has a solution. It’s a bit of simple Elisp that calls forward/back-page and then recenters it so that the top of page is at the top of screen. If you’re interested in working with pages, take a look at Choi’s post.

Posted in General | Tagged | Leave a comment