Emacs As A Browser

As I’ve written many times, only my browner keeps me from doing almost everything in Emacs. Sure, there are some other apps that can’t be brought under the Emacs umbrella, but in many cases, emacs-everywhere allows me to handle text input and editing in Emacs.

Still, I spend a lot of time in Safari and it would be nice to whittle that time down. Joshua Blais claims that Emacs is his browser. His key for doing that is, of course, eww. He says, that like most of us, he believed it was far from capable of being an everyday browser but after using it for a while, he’s found that it’s usable for 85–90 percent of his use cases.

What many consider its shortcomings—it’s lack of hyper-interactivity and busy graphical display—Blais considers an advantage. He’s tired of the modern web with all its flashing lights and finds eww perfect for reading blogs and other serious writing that requires concentration and in-depth thought.

He’s made some nominal changes to the key bindings and a few other items. In particular, he’s made eww his default browser so even if he needs to go to a full-fledged browser, he has to go through eww first. His post has his configuration so you can see how he’s doing things.

Some day, I’ll get up enough nerve to try something similar. I don’t take part in social media or most of the other flashier parts of the Web and I use the excellent Magic Lasso to filter most of the junk that the modern Web insists on shoveling into our computers so my motivation is different from Bais’: I just want to stay in Emacs as much as I can.

Posted in General | Tagged | Leave a comment

Orgy

Irreal, in both its incarnations, has always used a dynamic Web site: first on Blogger and now on WordPress. I like them both. They’re easy to use and, really, perfect for non-technical people who want to blog. At this point, Irreal will probably stay on WordPress throughout its lifetime.

Still, I occasionally think that it would be nice to change to a static web site. The problem with dynamic Websites is that they’re a black box driven by a database and it’s hard to understand how things work, how to customize them, and how to do fundamental things like backing up your site.

Of course, static sites come with their own problems and difficulties. Recently, Bastien Guerry, one of the Org mode heroes, introduced his own static site generator, Orgy. He has a nice post that steps you through setting up an Orgy site from scratch. Orgy seems extremely easy to use. You write your blog posts in Org mode, call Orgy, and everything but moving it to your hosting provider is taken care of. You get an index, RSS, tag support, search and more. Take a look at Guerry’s post for the details.

The thing I really like about it is that there’s no database. All your post sources stay safely on your own machine and you can back them up with whatever method(s) you prefer. Even if you have to regenerate your entire site, it’s only an Orgy call away. There’s no PHP to wade through to. The output of Orgy is simply your HTML and supporting files. It’s simplicity itself. If you don’t need a bunch of fancy plugins, Orgy may be just what you’re looking for.

Posted in General | Tagged , | Leave a comment

Changing Of The Guard

The much predicted succession of Apple’s top management is underway. In a community letter from Tim Cook, Cook announced that he is transitioning to Apple’s executive chairman and as long expected, John Ternus, the current Senior Vice President of Engineering, will succeed him as CEO.

Although I am a long term, happy resident of Apple’s walled garden, I’m not really one of the Fan Boyz so I can look at Apple relatively dispassionately. I do think their hardware is better than the competition’s but the thing that keeps me in the Apple ecosphere is their privacy story and a perceived concern for their users. I’m not completely naive about that concern but at the very least it’s better than what you get from Google and the Android vendors.

There’s plenty not to like though. The worst of those things is Apple’s embracing of advertising. Much of their privacy success and user-friendliness comes from their not being an advertising-based company. For companies like Apple, ads are a corrupting influence that is antithetical to privacy and that ultimately replaces the user with the advertiser as the customer. When you think about, many of Apple’s perception problems are rooted in advertising.

By all accounts, Ternus is concerned about Apple’s customers and cares about Apple’s “insanely great” reputation. Perhaps he’ll nudge Apple away from advertising and back to the customer.

Posted in General | Tagged | Leave a comment

What Not Using M-dashes Really Means

A year ago, I learned from my friend Watts Martin that according to LinkedIn know nothings influencers, the use of em-dashes is a sure sign of AI generated text. Real people, they said, use hyphens so whenever you see an em-dash, you can be sure that the text was written by an AI. Martin and I had a good laugh and largely moved on.

A couple of weeks ago, Martin published a post about the use of AI in writing. Martin is a tech writer and a published SF author so this is an area he knows and cares about. One of the points he emphasizes is that by definition text generated by AI represents average writing.

If you do any sort of professional writing, you should give Martin’s post a look. If you care about good writing, you should give Martin’s post a look. Even if you don’t fall into either of those cohorts, there’s a lesson for you in the post.

As I was reading his post it popped into my mind that if AI produces definitionally average text and if AI generated text uses em-dashes, then those who don’t use em-dashes must be below average writers.

Okay, it’s not quite a syllogism and the conclusion is, in any event, self evident but it’s another indication of how silly this movement to avoid using em-dashes—lest you be accused of having AI doing your writing—is. Good writers aren’t afraid to use em-dashes. Probably some good writers don’t use them at all—Irreal, of course, doesn’t understand how this could be—but lots do and it’s probably safe to say that those who do are showing that they care about their writing..

So, again, use em-dashes as you see fit and tell the naysayers to go pound sand.

Posted in General | Tagged | Leave a comment

Artemis II’s Fault Tolerant Computer

The other day, I wrote about the amazing engineering behind Voyager 1. Space is a harsh environment and equipment that would be perfectly fine here on Earth would not survive in space.

Artemis II, which carried the crew farther away from Earth than any human had even been, is another case in point. Obviously, the Artemis II program is full of excellent engineering but, as recounted in the on-line Communication of the ACM, Artemis II featured a “fail silent” computer with multiple CPUs that could survive everything from a cosmic ray induced bit flip to total processor divergence. The goal was to survive any hardware failure with no downtime.

This was important because unlike the Apollo computer, which was concerned only with guidance, Artemis II’s computer had a hand in almost every safety-critical system. The computer is built so that effectively 8 CPUs are running the flight software in parallel. These CPU are spread across two computers each with two Flight Control Modules. The term “fail silent” means that a computer will remain silent rather than give a wrong answer. The system gets its answer from one of the computers that hasn’t failed. Naturally, the failed computers reset themselves and resynchronize with the others.

Read the article to see how amazing this system is. The software is equally amazing. They even have a Backup Flight Software system that is implemented on different hardware running a different OS and software to help guard against a software failure on the primary system.

As we know now, this system operated perfectly and was able to take the Artemis II crew on a moon flyby and deliver them back Earth without a problem. Even if you aren’t a hardware nerd, you’ll enjoy reading this article.

Posted in General | Tagged | Leave a comment

A Short Report On Help Focus

Earlier this week I wrote about Bozhidar Batsov’s post on short Emacs configuration hacks. As I mentioned then, my favorite was a simple configuration variable that causes the Help buffer to get focus when you open it.

It’s easy to take the position of “who cares” but, as I said, I almost always want to interact with the Help buffer if only to dismiss it. Often though, I also want to scroll the buffer—yes I know about scroll-other-window and its siblings—or follow one of the links in the buffer.

After I wrote that post, one of the first things I did was enable the option to give the Help buffer focus. I can’t tell you how much I love the change. It turns out I use the help command more than I thought I did and every time I wanted the focus to be in that buffer. Not once since I made the change have I wished the focus remained in the original buffer.

It’s pretty easy to imagine a case where it would be more convenient to have the original buffer retain focus but in those cases one can simply change windows back to it. One thing for sure, I’ll be doing that a lot less than staying in the Help buffer and dismissing it when I’m done.

You really should try it out. You’ll be pleasantly surprised. As I said, it’s simply a matter of setting help-window-select to t so you can try it out in your current session without involving your init.el.

Posted in General | Tagged | Leave a comment

🥩 Red Meat Friday: Writing Telephone Numbers

I don’t know why this is a Red Meat Friday item but, apparently, it is. Back in 2024, the AP Stylebook changed its specification for the formatting of telephone numbers. From now on the telephone number that used to be written as (123) 456-7890 should be written as 123-456-7890. There’s also a format for international numbers and for dealing with extensions that you can read about at the above link.

What’s not to like? I use this format all the time—although sometimes I use periods instead of dashes—and why not. It’s easier to type and there’s no ambiguity as to which, if any, part is the area code. I view it as dragging an outmoded and silly notation into the modern world. Not everyone agrees.

You would think, in fact, that it was version 2 of Swift’s, A Modest Proposal. Take a look at the comments to the announcement. Almost every comment was virulently against the change.“You can steal my ( ) from my cold, dead hands!” is typical.

I don’t understand the opposition. It appears to be based mainly on resistance to change. There’s certainly no rational reason for preferring the old format. It’s not clearer, it introduces superfluous punctuation, and, as I said, it’s harder to type.

Matthewdickens_ makes the point that using the parenthesis distinguishes a phone number from an IP address or a social security number. That’s true, I guess, but I don’t find it a cogent argument for staying with the old format.

Regardless, I’m sticking with 123-456-7890. Anyone who can’t figure that out is probably not worth worrying about.

Posted in General | Tagged | Leave a comment

LaTeX Preview In Emacs

Over at the Emacs subreddit, _DonK4rma shows an example of his mathematical note taking in Emacs. It’s a nice example of how flexible Org mode is even for writing text with heavy mathematical content but probably not too interesting to most Emacs users.

What should be interesting is this comment, which points to Dan Davison’s Xenops, which he describes as a “LaTeX editing environment for mathematical documents in Emacs.” The idea is that with Xenops when you leave a math mode block it is automatically rendered as the final mathematics, which replaces the original input. If you move the cursor onto the output text and type return, the original text is redisplayed.

It’s an excellent system that lets you catch any errors you make in entering mathematics as you’re entering them rather than at LaTeX compile time. So far it only works on .tex files but Davison says he will work on getting it to work with Org too.

He has a six minute video that shows the system in action. It gives a good idea of how it works but Xenops can do a lop more; see the repository’s detailed README at the above link for details.

Posted in General | Tagged , | Leave a comment

Switching Between Dired Windows With TAB

Just a quickie today. Marcin Borkowski (mbork) has a very nice little post on using Tab with Dired. By default, Tab isn’t defined in Dired but mbork suggests an excellent use for it and provides the code to implement his suggestion.

If there are two Dired windows open, the default destination for Dired commands is “the other window”. That’s a handy thing that not every Emacs user knows. Mbork’s idea is to use Tab to switch between Dired windows.

It’s a small thing, of course, but it’s a nice example of reducing friction in your Emacs workflow. As Mbork says, it’s yet another example of how easy it is to make small optimizations like this in Emacs.

Update [2026-04-16 Thu 11:06]: Added link to mbork’s post.

Posted in General | Tagged , | Leave a comment

Alfred Snippets

Today while I was going through my feed, I saw this this post from macosxguru over at Bicycle For Your Mind. It’s about his system for using snippets on his system. The TL;DR is that he has settled on Typinator and likes it a lot.

I use snippets a lot but use several systems—YASnippet, abbrev mode, and the macOS text expansion facility—but none of them work everywhere I need them to so I have to negotiate three different systems. YASnippet is different from the other two in that its snippets can accept input instead of just making a text substation like the others.

In his post, macosxguru mentions that his previous system for text substitutions was based on the Alfred snippet functions. I’ve been using Alfred for a long time and love it. A one time purchase of the power pack makes your Mac much more powerful. Still, even though I was vaguely aware of it, I’d never used Alfred’s snippet function.

After seeing it mentioned on macosxguru’s post I decided to try it out. It’s easy to specify text substitutions. I couldn’t immediately figure out how to trigger the substitutions manually so I just set them to trigger automatically. I usually don’t like that but so far it’s working out well.

Up til now, I haven’t found anywhere that the substitutions don’t work. That can’t be said of any of the other systems I was using. It’s particularly hard to find one that works with both Emacs and other macOS applications.

If you’re using Emacs on macOS, you should definitely look into Alfred. It plays very nicely with Emacs and my newfound snippets ability makes the combination even better.

Posted in General | Tagged , | Leave a comment