Beautifying Org Mode

As you all know, I’m not much for editor bling even though I care immensely what my finished text looks like. Still, I did take to heart Charles Choi’s recommendation to use proportional fonts for prose. The idea is that it’s easier to read and edit prose when it’s in a proportional font. That aside, the only other “beautification” I make to my Org buffers is to use the previous default of a larger font and different color for the title. Org did away with that some time ago but I resurrected it with

(set-face-attribute 'org-document-title nil :foreground "midnight blue"
                      :weight 'bold :height 1.44))

If you adhere to a less austere style in your Emacs buffers, you should take a look at Diego Zamboni’s recent post on Beautifying Org Mode in Emacs. He’s got a lot of nice ideas for customizing the look of your org buffers without resorting to a wholesale theme change.

His changes mainly consist of changing the font faces and sizes for the various headline levels and for ensuring that code fragments were still rendered in a monospace font. He also sets visual-line-mode on to make things look better in proportional fonts. I do that too but to solve formatting problems when exporting to HTML.

He hides the emphasis markup, which I definitely don’t like but he also made a simple change to make list bullets appear as actual bullets (•) rather than the default -. He makes some other suggestions, as well, so it’s well worth taking a look at his post if you’re interested in gussying up your Org buffers.

Posted in General | Tagged , | Leave a comment

An Interview With Daniel Semyonov

Those of you who have been around for a while will remember Sacha Chua’s video interviews with various Emacs luminaries. Those were before the birth of her daughter and as any parent will tell you, young children can gobble up whatever discretionary time you have so it’s little wonder she hasn’t done any interviews lately.

Sadly, she hasn’t reinstituted her interviews but she does this have this offering from Emanuel Berg with an interview of Daniel Semyonov. It’s not a video and it’s a bit shorter than Sacha’s old interviews but it’s still interesting.

Semyonov is a young programmer from a remote area without a lot of resources yet he was able to bootstrap his knowledge and has contributed to several open source projects. Most recently he has worked on the Gnus backend for Atom feeds.

One of the things I liked most about the interview was Semyonov’s discussion of how Emacs and learning Elisp kickstarted his programming in general and his open source contributions in particular.

It’s a short interview and worth a couple minutes of your time. Perhaps others will share their interviews with Sacha, and she with us.

Posted in General | Tagged | Leave a comment

Emacs Nerd Porn

For all you Emacs nerds out there here’s a bit of porn. It’s almost like those joke pictures you see of Emacs setups but this one appears to be real.

As much as I like the idea of this environment, I’m not sure that I’d want to use it. As some of the commenters noted, it’s going to make your neck sore but for me the question is why you need to see all that information? Sure, it’s useful to be able to see two or even three files at the same time when you’re working but I’m not sure why you need to see eight or nine at once. It seems like lurking distraction to me.

I get that you might want to have, say, an email buffer and maybe even a text message buffer open but I’m at a loss of what to do with nine visible buffers. Of course, it’s different strokes for different folks so whatever works for you is okay with me.

And I gotta admit it looks really cool and is sure to give you nerd creds from just about everybody.

Posted in General | Tagged | Leave a comment

A Comparison Of Markdown Editors

Although I find it hard to believe, the Minions assure me that there are still people who prefer writing in Markdown rather than Org-mode. I don’t want to relitigate that issue here. If you’re interested in why no right thinking person would prefer Markdown to Org—even without Emacs—I refer you to Karl Voit’s detailed analysis of Org’s superiority. Objectively, it’s just a better markup language and that’s before we get to Babel.

Regardless, there are those who use Markup either because they have to or because they really do prefer it. That leads to the question of which editor is best for writing in Markdown. (That issue doesn’t come up with Org-mode, of course.) Needless to say, we Emacs partisans dismiss this as a silly question because we think all editing tasks are best done with Emacs. Less biased folks may demur.

Franco Pasut is one such person and he analyzes the four editors

  • Vim
  • Emacs
  • Sublime Text
  • VS Code

all of which have facilities for helping you edit Markdown. He looks at each editor both out-of-the-box and with Markdown specific add-ons.

I’ll let you read his post for the details but as a spoiler, I’ll tell you that Emacs is not his first choice even though he is an Emacs user.

Posted in General | Tagged , | Leave a comment

Sparse Trees

Emacs Elements has a short video on sparse trees. The TL;DR is that sparse trees give you a method of filtering an Org file to show only the information that you’re interested in. The information can be random text, a tag, a property, deadlines, dates, or date ranges.

Unfortunately, the video doesn’t capture the full power of sparse trees. It makes it seem as if all it does is highlight the matches in the visible buffer but sparse trees are actually much more powerful. If you have a large file, it will hide any non-relevant data except for context. The rules for what constitutes “context” are slightly complex so you should take a look at the documentation for the full story.

My only complaint is that I can’t find a way to restore the original buffer after invoking a sparse tree filtering other than reloading or rebuilding the file. You can turn off the highlighting but I can’t figure out how to get the original buffer back. This is Emacs so I’m sure there’s a way but I haven’t found it1.

Another nice feature of sparse trees is that you can “stack them”. That is, after forming a sparse tree representation of the buffer you can refine that representation with further filtering.

The video is only 5 minutes, 12 seconds so it’s easy to find time for it. It will give you a good overview but you really need to check the documentation for the complete story.

UPDATE [2024-04-14 Sun 19:27]:

I just noticed that the fix for restoring the previous buffer state no longer works so we’re back to no solution to this problem.

Footnotes:

1

According to this Stack Overflow entry, there is no good way of doing this. One responder does give some code that appears to do the job.

Posted in General | Tagged , | Leave a comment

Left Hand Quick Commands

Emacs elements has another interesting video, this time on some commands that he’s rebound for quick invocation. Those commands are (roughly):

  • kill-buffer
  • set-mark-command (Push mark)
  • set-mark-command (Pop mark)
  • exchange-point-and-mark
  • jump-out-of-pair (A custom command)

He begins the video with some praise for the IBM Model M keyboard that he uses. I can relate. As I’ve written before, it’s the greatest keyboard every made. It’s layout is pretty standard so whatever “standard” keyboard you’re using probably has a very similar layout.

Emacs customization, of course, is all about making it as frictionless as possible for your workflow so it makes no sense to criticize someone else’s bindings but it’s interesting how different his choices are from mine.

He uses Ctrl+1, Meta+1, and Meta+2 for some of those commands. He says re realizes that theese are prefix keys but says he never uses them. I, on the other hand, use them all the time. If I want to delete 2 words, I do it with Meta+2 Meta+d. Similarly, if I want to delete 3 characters, it’s Ctrl+3 Ctrl+d. These are all burned into my muscle memory and I’d never give them up.

There’s more to his customization than just rebinding the keys. Most of the above commands also activate the mark and result in highlighting regions. That’s almost never what I want and neither does he. He has a bit of custom code to deactivate the mark so that doesn’t happen. Even if, like me, you don’t care for his rebindings, you may want to grab his code to eliminate the mark activation.

This is a short video and worth a few minutes of your time.

Posted in General | Tagged | Leave a comment

🥩 Red Meat Friday: That’s Not Vim…

Just a quickie today but it’s really, really red meat. If you’re an Emacs partisan, it will give you a reason to chuckle all day. If you worship at the Church of Vim, you’ll be less amused.

As I’ve said before, I never enlisted in the Editor wars and I certainly never took them seriously but it’s indisputable that they can be the source of fun and humor. Sometimes, as with this item, Vim takes the hit. Other times Emacs does. In either case, the trick is to think of them as humor, not tablets from Mt. Sinai.

Posted in General | Tagged , | Leave a comment

Boeing: The Past Comes Due

I was going to fold this into my last post on Boeing but as I considered how to add it to that post, I realized that I had too much to say. As I noted in the last post, I’ve become obsessed with the Boeing story. I finally realize why: I, too, have worked for companies where finance guys with no knowledge or interest in engineering where in charge.

I once had a CFO tell me that, “all programmers are fungible so I don’t have to worry about getting rid of them. I can always just hire more.” This attitude, writ large, is what’s been going at Boeing for much too long. Upper management—all of them finance people—felt free to not just consume but squander the corporation’s seed corn: the institutional knowledge, expertise, and experience of their workforce and vendors. To them, the only thing that mattered was the stock price and the only thing they were interested in was finance and how to manipulate it to raise the stock price.

Now, finally, the past has come due. As described in this Seatlle Times article, the last incident of the blown-out door plug resulted in a customer/regulatory/criminal-investigatory backlash that has shaken the company. CEO Dave Calhoun has acknowledged the inevitable and will leave by the end of the year.

What happened? As I’ve mentioned before, the company management was captured by finance suits as a result of the Clinton Administration’s forced merger with McDonald Douglas. These people were all acolytes of Jack Walsh whose leadership of GE was the stuff of legends. Until it wasn’t. GE fell apart and Walsh’s ideas began to fall in disrepute. Apparently, Boeing management didn’t get the memo and continued to burn their seed corn.

The question now is whether they can recover. I’m not optimistic but I certainly hope they can. Boeing is not just a national treasure but a worldwide one. Their planes fly all over the globe and serve airlines from every country. It would be a shame to see their demise.

Posted in General | Tagged | Leave a comment

Neal Stephenson On Emacs

All of us Emacs nerds are familiar with Neal Stephenon’s essay In the Beginning…Was the Command Line, in which he describes Emacs as the thermonuclear word processor. A couple of years ago, he did a podcast with Lex Fridman in which he expands on his remarks and comments on the longevity of Emacs.

Fridman asked him if he thought that Emacs would still be around in, say, a hundred years. Stephenon’s answer invoked the John Henry legend where in the end, Henry was unable to keep up with the steam hammer. Stephenson says that Microsoft and Apple are pouring so much money and effort into VS Code and XCode that eventually Emacs won’t be able to keep up.

I don’t think that XCode is an issue in this discussion. It’s not primarily a text editor and is, in any even, very specific to the Apple universe. VS Code, on the other hand, can certainly be said to be an Emacs competitor. I don’t think it’s as powerful or full featured as Emacs but it does have a lot of money and power behind it. Whether Microsoft itself will survive for a hundred years and if they do whether they’ll find it economically advantageous to continue supporting VS Code are open questions.

I think that technology 100 years from now will look so different from what we have today that virtually no technology we have now will be extant. That will probably include Emacs. On the other hand, Emacs has been defying the odds for a long time and may surprise us all. What do you think?

Posted in General | Tagged | Leave a comment

Boeing’s Suicide Mission

This is yet another post about Boeing and its troubles. I know I seem obsessive about this issue, and I am. It saddens me that a company known for—some would say who defined—engineering excellence has been hijacked by a pack of bean counters who care for nothing but its stock price.

Boeing’s senior management loathes experienced and competent engineers. Their CEO, Jim McNerney called them “phenomenally talented assholes” and encouraged his management team to ostracize them into leaving the company. They’ve been largely successful.

Over at The American Prospect, Maureen Tkacik has an excellent, if depressing, article on Boeing’s Suicide Mission. I challenge you to read it without becoming infuriated. The story is told from the point of view of a long time (30 years) Boeing quality manager, John Barnett. For the crime of refusing to look the other way, he was targeted and finally driven from the company.

The article claims that management had let their concern for the stock price lead them to ignoring safety concerns, covering up problems, and into actual criminality. Hundreds have died due to problems with the 737 Max but the problems are everywhere. One group of 15 Boeing line mechanics were asked if they would fly on a 787 Dreamliner. All but 5 said no.

Barnett was set to testify in a criminal inquiry concerning Boeing’s practices when he died—some would say mysteriously. His death was ruled a suicide but those who knew him are having none of that. One long term former executive, speaking of Boeing senior management, said, “I don’t think one can be cynical enough when it comes to these guys.”

Tkacik’s article is long but it’s a great read and I urge you to spend a few minutes with it. It’s saddening and infuriating to read about the suicide of a company that once defined engineering and manufacturing excellence. As Tkacik puts it, “[Boeing is] an institution that [is] in a perpetual state of unlearning all the lessons it had absorbed over a 90-year ascent to the pinnacle of global manufacturing.”

Posted in General | Tagged | Leave a comment