Ten Useful Emacs Tips

Over at the Emacs-Elements Youtube channel, there’s a new video that presents 10 useful Emacs tips. Some of them are fairly well known things like setting the mark with Ctrl+Space and returning to it with Ctrl+u Ctrl+Space or flushing lines in a buffer that match a regular expression but some are less well known and a couple I hadn’t seen before.

In the “less well known” category we have, for example, how to copy the absolute or relative path of a file from Dired. That’s not something you need all the time but it’s really handy when you do. Another less well known item is how to delete text without copying it to the kill ring.

In the “new to me” category we have how to keep item numbers correct in an Org list when an item has a paragraph break and how to sort in Dired.

These tips are useful things for every Emacs user to know so you should take a look at the video. The video is 8 minutes, 55 seconds so it should be easy to fit into your schedule.

Posted in General | Tagged | Leave a comment

Irreal Is 12

Today is Irreal’s twelfth birthday. Irreal started off slowly, like most blogs, but for the last 9 years, I’ve posted pretty much everyday except when things like power outages and the flu intervened.

As I’ve said before, the blog is not at all what I imagined when I started but even though there’s been some subject matter drift, looking back over the posts it’s always been indisputably recognizable as Irreal. You can expect that Irreal will remain pretty much the same in the next year. Emacs is still the most recurring and reader engaging topic but privacy and the misadventures of the press also make frequent appearances. The rest of the posts are about things that catch my fancy, annoy me, or incite my outrage. That will remain the template for most posts in Irreal’s thirteenth year.

Twelve years seems like a long time but others have been at it a lot longer than that so I’ll just keep on keeping on as long as I have the energy.

Posted in Blogging | Leave a comment

A Call To Ban Surveillance Advertising

Weather Update
Tampa has once again dodged a bullet: the impact from Elsa was minimal. Here at the Irreal bunker, we had some rain and a bit of wind but nothing much worse than our usual afternoon thunderstorms. Now back to our normal content.


One of Irreal’s favorite hobby horses is the depredations of the malevolent adtech industry. It’s bad for everyone involved: those who are surveilled are obviously harmed but so are the assumed benefactors of the scam. Advertisers pay a surprising amount for so called targeted ads but research shows they are largely ineffective. Basically, no one benefits but the adtech industry.

Some folks are fed up. The Norwegian Consumer Council has called for an international ban on surveillance advertising and they’ve assembled a coalition to do just that. In Europe the ball is already rolling with the Digital Services Act that, according the above article, can lay the framework for banning such ads in Europe.

In the U.S. there is no such legislation pending and a court has just dismissed a suit by the FTC and various state Attorneys General against Facebook so the outlook is dimmer. Nonetheless, the coalition is urging U.S. legislators to grab to opportunity to ban such ads.

There’s growing pressure on the tech industry in general but in the absence of European action it seems to me unlikely that the U.S. will do anything. On the other hand, if Europe bans surveillance advertising, Congress may be shamed into doing the same. It will be interesting to see what happens.

Posted in General | Tagged | Leave a comment

Weather Alert

The wannabe hurricane known as tropical storm Elsa is due at the Irreal bunker later tonight. It’s currently on the line between tropical storm and hurricane but in either case the winds will likely be high enough to cause potential power outages. Right now it’s getting a bit gusty and there are some thunderstorms.

This is your warning that I may not be able to post for a day or two but the normal drivel informed commentary will resume as soon as the power comes back.

Posted in Administrivia, Blogging | Tagged | Leave a comment

Running Emacs from Systemd

One of the perennial complaints about Emacs is that it takes a long time to start. Of course, the answer to that is just don’t do it. Or at least only do it once when you log in. Many us have long running Emacs sessions, sometimes lasting months. Every Sunday, I update my packages and afterwards I restart Emacs just to be on the safe side so my sessions last a week.

I have Emacs running in its own desktop so it’s always there when I need it but you don’t have to do things that way. Another option is to run Emacs in server mode and then bring up an instance when you need it by calling emacsclient. That’s instantaneous so if you prefer to have Emacs out of the way when you’re not using it, that’s easy too.

Once you decide to run Emacs as a server, the question arises as to how you should start it. It’s easy to do that manually but if you’re a Linux user you can arrange to have Systemd start it for you when you log in. That way, you never have to think about starting Emacs—it’s always there.

Yi Tang has a post that shows you how to use Systemd to start Emacs. It’s simply a matter a adding Emacs to Systemd configuration file and telling Systemd to reread its configuration. After that everything is automatic. Tang also tells you how to start Emacs in server mode manually if you prefer. That works in any system, of course.

It’s possible to do this sort of thing in macOS too but I’ve never felt the need. The longest part of my Emacs startup is its waiting for me to type in the .authinfo password so it’s a painless operation that, in any event, I usually do only once a week.

Posted in General | Tagged | Leave a comment

The New Luddites Go After Digital Wallets

As you know, Irreal is fond of calling out the new Luddites when they raise their heads to complain about technology, or leaving the farm, or whatever it is they’re upset about at the moment. Now, from Kontra, we have the purest example of new Ludditism yet:

Pure because it’s an example of exactly what Ludditism is all about: protesting or destroying technology that is threatening the jobs of the protesters. Here we have the manufacturer of traditional, physical wallets trying to organize a boycott of digital wallets because they threaten their product. Meanwhile, buggy whip manufacturers are organizing a boycott of automobiles.

The whole thing is silly, of course. Virtually no one is going to swayed one way for the other by this boycott but I guess it does get the manufacturer in the news.

Posted in General | Tagged | Leave a comment

Using Tramp

Will Schenk has an interesting post entitled Emacs Tramp tricks. It’s not really so much about obscure things you can do with Tramp as an exposition of how to do the normal things you use Tramp for.

The most unusual use case is connecting to a local or remote Docker image. You need a little bit of configuration in your init.el but after that you connect to the image and edit files in it in the usual way.

The big thing about Tramp is that you can use it to edit files on a remote machine with Emacs without having to have a copy of Emacs on the remote machine. That can be a real win when dealing with servers that may not any editor other than Vim—or, horrors, Nano—installed. You can still edit files or even open a shell on that machine without having to leave Emacs.

If you don’t regularly use Tramp, Schenk’s post will serve as a reminder of how to do things. Tramp really is one of Emacs’ most useful but underappreciated tools.

Posted in General | Tagged | Leave a comment

Video Introduction to Magit

Over at the System Crafters Youtube channel, David Wilson has a new video on Magit. It’s the first in a planned series so it serves as an introduction to the most important Magit facilities with more information on them to be forthcoming in future videos in the series.

The video concentrates on the status screen and what each of the sections means and how to display more or less information in each of them. He also goes over how to stage, commit, and push commits to a remote repository.

Wilson says, and I agree, that Magit is a much more efficient way of using Git than the command line. Others have said that it’s the most efficient way. I don’t doubt that but I obviously haven’t tried them all.

If you’re interested in Git and are an Emacs user, you should definitely take a look at this video. I looking forward to the rest of the series. The video is just short of 33 minutes so plan accordingly.

Posted in General | Tagged , | Leave a comment

Red Meat Friday: Dark Mode and Sanity

The Minions, fresh off their recent victory in sneaking another light-mode/dark-mode post into the queue, have struck again. Here we have Kontra’s take on the eventual dénouement of the dark-mode fad:

This is, of course, another example of Kontra’s wry wit but I must admit to a certain sympathy. With my eyes watering from site after site with unreadable dark blue on black text, I often feel the urge to stick a pencil in my eyes. And to tell the truth, I do feel depressed looking at those dreary dark-mode sites.

Of course, as I always say, the choice is up to you. Just don’t blame me if you find your sanity deteriorating.

Posted in General | Tagged | Leave a comment

Brian Kernighan on the Birth of Unix

Over at CoRecursive they have a really excellent interview with Brian Kernighan on the birth of Unix. The interview starts out with this quote from Adam, the interviewer:

When you work on your computer, there are so many things you take for granted: operating systems, programming languages, they all have to come from somewhere. In the 1960s, that somewhere was Bell Labs, and the operating system they were building was Unix. They were building more than just an operating system though. They were building a way to work with computers that had never existed before.

That’s telling, I think, because we take the Unix model so much for granted today but back in the 60’s and early 70’s it was all about punched cards, Fortran, and waiting half a day to get the results of your program run back.

Unix famously grew out of the desire on the part of Ken Thompson, Dennis Ritchie, and a few others to recapture the comfortable programming environment they’d experienced while working on Multics. In the beginning, Unix was very much a skunk works project that was developed on an unused and forgotten PDP-7. The Unix engineers basically conned AT&T management into formalizing the development by promising a word processing system for the Patent Department.

The interview is long, which is one of the things that makes it so useful because it leaves plenty of time for revealing vignettes. One of the recurring themes is what a genius programmer Ken Thompson is. In one story Kernighan tells how he, Thompson, and Joe Condon were puzzling over how to figure out how their new typesetter worked. They didn’t have source code for the program that ran it but they did have the binary. Kernighan took a dinner break and when he came back, Thompson had written a disassembler. Then, of course, he wrote an assembler for the minicomputer that ran the typesetter so they could produce their own program for it. There’s more like that in the interview.

The text is a transcript of a podcast so you can listen if you’d rather. There’s a button on the page for playing it in case you want to listen.

Posted in General | Tagged | Leave a comment