Prelude 1.0

Bozhidar Batsov has just announced the release of Prelude 1.0. Don’t let the 1.0 version fool you. Prelude is over 9 years old and a very mature product. Batsov expects work on Prelude to continue but doesn’t envision major changes.

In case you don’t know, Prelude is an Emacs “starter kit” that provide users with a prebuilt configuration for their editor. A lot of people think of them as mostly useful for n00bs but many experienced users have built on the starter kit foundation and that foundation lives on in their current configuration.

Batsov addresses the question of why anyone would bother with Prelude in this age of Spacemacs and Doom. He explains that explaining the core philosophy of Prelude:

  • simple
  • easy to understand and extend
  • stable
  • a foundation for you to build upon, as opposed to some end-user product that you’re supposed to use as-is

It’s an approach that is, I think, completely in accord with the Emacs philosophy: start with a bare bones functionality and build on it to get an editor that suits your needs. There’s nothing wrong with distributions like Spacemacs or Doom, of course, but if you want to understand your configuration and have your Emacs built just the way you want it with nothing extra that you don’t need, there’s a lot to be said for the Prelude approach.

Posted in General | Tagged | Leave a comment

Daring Fireball on Tracking Redux

A few days ago, I wrote a post praising Daring Fireball for it’s take on adtech’s panty-wetting reaction to Apple’s plan to require user permission before accessing the advertising ID (IDFA) on Apple devices. Adtech loves the IDFA because it allows them to uniquely identify a device and tie browsing activity back to the user to build a profile that they can sell or use to push targeted advertising.

The TL;DR of the dispute is that Apple is saying that before you can track our users you have to ask permission and the users have to agree. Adtech is right in seeing this as an existential threat because virtually nobody is going to agree to such tracking. Rather than considering how they might change their business models, the advertisers are simply throwing a temper tantrum and whining that Apple has no right to interfere with their spying on us.

The latest whiner is Instagram CEO Adam Mosseri who complains about how much this change is going to hurt small businesses in this time of pandemic. Gruber calls out Mosseri for this nonsense and then sows salt in his fields.

When all is said and done, Gruber says, these people feel entitled to track us as they always have and react with outrage when someone suggests that they aren’t. I just wish Apple hadn’t agreed to delay this important and necessary change past the release of iOS 14. Still, even if it’s a few months late it will be worth waiting for. If Apple’s new policy helps drive a steak through the heart of the adtech beast it’s fine with me.

Posted in General | Tagged | Leave a comment

Org Mode 9.4 Released

Bastien Guerry writes that Org 9.4 has been released:

The changes are here and Guerry also discusses crises in free/open software projects and how we often don’t learn about them until it’s too late. He makes a few suggestions on how we can help to make sure that Org doesn’t suffer the loss of maintainers that Helm and pdf-tools have. Be sure to give it a read.

Posted in General | Tagged , | Leave a comment

An Update for whole-line-or-region

Most of you probably know Steve Purcell as the man behind MELPA or perhaps for his Emacs configuration, which many use as a starter kit. But, in fact, he’s the author or maintainer of numerous packages, one of which is whole-line-or-region. As I’ve written before, whole-line-or-region is one of my most used commands. I call it several times a day and wouldn’t want to live without it.

Purcell has just released version 2.0. It’s a rewrite that cleans up the code and uses modern Emacs interfaces instead of ad-hoc ways of getting things done. The rewrite eliminates some nasty interactions with things like rectangle-mark-mode so there are user-visible changes as well as general bolt-tightening.

If you’re already a user and are enabling whole-line-or-region-mode, you’ll want to change that to whole-line-or-region-global-mode. Be sure to take a look at the README for some other details.

If you aren’t already a whole-line-or-region user, this is your chance to try it out. You’ll be surprised at how useful it is. When you read the description, your reaction might very well be “meh” but once you start actually using it, you’ll wonder how you ever got along without it. Purcell calls it “an under-appreciated gem in the Emacs world” and I agree. I don’t know why it hasn’t been subsumed into Emacs core. It really is that useful.

Posted in General | Tagged | Leave a comment

Happy Programmers Day

This being a leap year means that Programmers Day comes a day early. As a cal -j will tell you, today is, in fact, the 256th day of the year. So happy Programmers Day to all you Irreal readers who do daily battle trying to make the computer do what you mean™.

Posted in General | Tagged | Leave a comment

An Emacs Workflow for Videos and Podcasts

Protesilaos Stavrou has posted a very nice video that describes how he uses Bongo and Elfeed to play and control his videos and podcasts. Just being able to handle your videos and podcasts with Emacs is a win because it puts another function under the Emacs umbrella.

But the video is much more useful because it serves as a nice example of integrating otherwise unrelated packages within Emacs to provide an excellent workflow for listening to podcasts or videos. Stavrou demonstrates how he can move a multimedia feed directly from his Elfeed index to his playlist for later viewing or listening and the seamless switching back and forth between Elfeed and Bongo buffers.

As usual, Stavrou has added a lot of functionality to the base applications with his own code. He’s linked to that so you can see how he does the magic if you’re interested in recreating or adapting it for your own use. There are two related videos, one to how he uses Bongo and the other to how he uses Elfeed. You should watch those first if you haven’t already seen them. The video is only 12 minutes, 13 seconds so it should be easy to fit in unless you need or want to watch the other videos.

Posted in General | Tagged | Leave a comment

Life Imitates Literature

Old-time Irrealers and alert newcomers know that I’m a big fan of Iain M. Banks’ Culture novels. Indeed, this blog is named after one of his ideas from the novel Excession: the Irreal. I mention Banks because I was reading yet another article about “deep fakes” and how they mean the end of civilization, or something.

That reminded me of another of Banks’ Culture novels: The Player of Games. The backstory is too complicated to relate here—read the story, it’s great—but the initiating event is a bit of blackmail. That was supposed to be impossible in the Culture because, as Banks puts it,

Anybody could make up anything they wanted; sound, moving pictures, smell, touch…there were machines that did just that. […] Where nothing could be authenticated, blackmail became both pointless and impossible[.]

We are not yet, of course, at that level in the real world but the continuing evolution and perfection of deep fakes does suggest a [near] future where any evidence could be seamlessly manufactured. The usual reaction to that is that we’ll all be doomed to random false accusations making our lives miserable. But what if Banks was right and that future means that no one will have anything to fear because everyone will discount any evidence a blackmailer or other miscreant might offer as evidence of wrongdoing.

Sometimes, apparently, life really does imitate art.

Posted in General | Tagged | Leave a comment

Unix Names Explained

There doesn’t seem to be much going on today but, fortunately, we’ve not yet reached the end of the internet. Instead, I offer those of you who didn’t grow up with the Unix command line some insight into where all those weird command names came from.

Actually, it’s not me offering this insight but Indiana University. This page from their knowledge base explains what some of those command names mean.

Posted in General | Leave a comment

Online Privacy; Real World Privacy

I’ve been a big fan of Daring Fireball for years. Sadly, of late it’s devolved from being a tech blog that occasionally mentioned politics to a political blog that occasionally mentions tech. Nevertheless, Gruber can still bring it when a tech issue captures his imagination or raises his ire.

He’s at his best in this post about online tracking and privacy. He starts by mentioning the new anti-tracking features of iOS 14 and how the advertising industry—led by his bête noire, Facebook—is up in arms about the changes. So much so that there are rumors that Apple may delay enforcing the new policies for a few months.

I don’t understand why Apple would do this and neither does Gruber. Or if he does, he’s definitely not sympathetic. As Gruber says, the sense of entitlement of these people is unbelievable. They have no right to our private data and browsing habits but because they’ve been getting away for so long with taking them anyway, they find any attempt to stop them unreasonable.

Gruber notes that we wouldn’t tolerate this in the real world where it would most accurately be described as stalking. But because the tracking is invisible to most people, the adtech industry has been able to spy on us with impunity for many years. Now that Apple is threatening to put an end to this malignant behavior, the adtech industry is crying foul.

So what are these onerous changes that Apple is proposing? Simply that before allowing access to the iOS device ID—more accurately the IDFA: Identifier for Advertising—the user would have to okay the access. Nobody is going to agree to being tracked, of course, so the adtech miscreants are crying Danger Will Robinson, Danger.

My hope is that Apple does not delay this common-sense, user-friendly change and that when it is finally implemented it will strike a fatal blow to the adtech industry.

Posted in General | Tagged | Leave a comment

Avi Navigation

Over at the Emacs subredit, RecursiveTraverser says that of all the Avy navigation commands he likes avy-goto-char-timer the best and asks if anyone else agrees. Those who answered agreed with him but there’s no reason to prefer it to the exclusion of the others.

As I’ve written before, I often use avy-goto-char-timer but I more often prefer avy-goto-word-1, which works well for most cases. The important thing is to use these functions—or even isearch as recommended by Steve Yegge—rather than moving the cursor around by hand with Ctrl+n, Ctrl+p, Ctrl+f, Ctrl+b, or, even worse, the arrow keys.

The avy-goto-word-1 command is by far my most frequent way of navigating around a buffer. I’ll occasionally use avy-goto-char but that tends to be too noisy so I just use one of the other commands to get to the beginning of the word and then move to the proper character. This is one the times that avy-goto-char-timer is useful. You can specify a few characters and get right to where you want to be. I also use it when I have many words with the same prefix and want to go to one particular word. An example is my journal that may be showing a single, say, “Wednesday” but many instances of “Wed.” I can call avy-goto-char-timer and type “wedn” to go right to the word I want more easily than any other way.

The main takeaway from this post, though, is that you should definitely by using the Avy navigation functions. If you aren’t, you’re working too hard.

Posted in General | Tagged | Leave a comment