Thoughts On Thoughts On RSS

Matt Rickard has a—at least to me—provocative post on RSS. As I’ve said many times, I’m a big believer in and user of RSS. Google did its best to kill it off but it turned out to be too useful to discard. Along with the excellent Elfeed it’s my main way of discovering and curating interesting blog posts.

That’s why I disagree with several of Rickard’s points. Rickard appears to take the point of view of a content creator interested in monetizing content. That’s a valid viewpoint, of course, but I look at it from a user’s point of view and very much like the way it works.

Rickard notes that the typical RSS entry is much like an email. It doesn’t render HTML very well and certainly doesn’t support Javascript. Rickard says that’s okay for email but not for general blog content. Perhaps, but I use RSS to point me to interesting blog posts—that I read with my browser—not as the primary way to consume a post. Indeed, many of the RSS entries don’t have the whole post and some have only the title. I like the primarily text based entry that renders quickly and helps me decide if a post is interesting enough to read.

At the other end of the spectrum, Rickard says “discovering a feed and seeing raw XML was too technical for the average user.” Well yeah but who reads the raw XML? I’d guess virtually no one. There’s nothing hard about subscribing to a feed either. Usually it’s just clicking on a link. It’s true you have to already know about a site to subscribe but that’s true no matter how you consume it.

Rickard doesn’t seem to be against RSS. He just notes that it’s not ideal for commercial content creators and doesn’t look as nice as a blog post rendered in a browser.

Although those who want to hoover up your Web activity or sell you things have done their best to put a full stop to RSS, users love it and keep it going. As the name suggests it’s a simple protocol and doesn’t require much maintenance. I, for one, hope it’s with us for a long time.

Posted in General | Tagged | Leave a comment

Dired-rsync

Yi Tang has an interesting post on the dired-rsync package. It’s been around for a while, apparently, but I hadn’t heard of it before Tang’s post. The TL;DR is it allows you to use rsync in dired in the same contexts that you would otherwise use Copy.

Tang lists all sorts of reasons why he believes rsync is superior to cp and scp but, oddly, doesn’t mention the major one: rsync only send the parts of the file that are different from the target. It is, in short, a tool optimized for copying an updated file.

Much of the post is devoted to explaining how Tang has integrated the package into his workflow. It’s perfect for downloading large data files from a server to his local machine where he can manipulate and analyze them. He explains how he set everything up in case you have a similar use case and want to recreate his workflow.

It’s a nice post that also explains some of the gotchas if you want to use dired-rsync yourself. It’s on Melpa and setting it up is simple. You can simply copy Tang’s use-package configuration for an excellent starting—or permanent—setup.

Posted in General | Tagged | Leave a comment

They Never Give Up

The Simple Analytics Blog has a disturbing post about Vodaphone and their reintroduction of persistent tracking. Vodafone & Deutsche Telekom are network providers whose job it is to send our data across the Internet and nothing more. They’re supposed to be a simple pipe that passes the data along without interference.

But there’s money to be made so of course they’re abandoning that role. They want to add a unique ID to each transaction so that Websites can query, and pay, them to see what other sites a user has accessed. Vodaphone, of course, is claiming that this is actually a privacy friendly policy but only the most naive will be deceived.

As the article points out, Apple is trying to circumvent this sort of move with their iCloud Private Relay service that encrypts your Web transactions so that Internet providers can’t spy on them. But you don’t need to rely on Apple. Just run a VPN and all your provider can see is that you are connecting to your VPN provider.

On a recent beach vacation with my family, I routed everything through my VPN provider, ExpressVPN, and was delighted at how transparent it was. Once I turned it on, it automatically reconnected each time I woke up one of my devices. There’s really no reason that you couldn’t just leave it running all the time. Indeed, I forgot to turn it off and after I got home I didn’t realize it was still running until a day or two later. As far as I can tell, there was no delay so there’s really no reason just to keep it running all the time. An added bonus is Vodaphone and their ilk will hate that.

Update [2022-08-06 Sat 12:55]: are → our

Posted in General | Tagged | Leave a comment

Changing How Emacs Works

Karthik has a nifty video on how to change the way Emacs works. We’re all fond of saying that Emacs is infinitely extensible and customizable but then we usually go out for a beer without saying how. Kathink remedies that by showing us how to change Emacs’s behavior even when we don’t know what we’re doing.

Kathink uses Notmuch to read his email from within Emacs but he’s got a problem. He’s a developer so a lot his email includes a patch or a diff as a MIME attachment. That’s fine but most of the time he doesn’t want to see large patches or diffs. What he’d like is for those two MIME types to be folded by default so that they don’t clutter up his emails but so that he can unfold them when he does want to see their content.

He begins by saying he has no idea how Notmuch works but he doesn’t let that stop him from resolving the issue. What follows is his step-by-step discovery of how to solve his problem. He beings with the usual checking of the documentation and customize subsystems but, sadly, that was of no avail. Instead, he had to turn to the source code.

Notmuch has a lot of code, none of which he’s familiar with so it seems like an impossible task but Karthik shows definitively that that’s not the case. He doesn’t use a debugger or any fancy tools; he just burrows around in the code until he zeroes in on the solution. His method resonates with me because it’s pretty much what I do. Most of the time I don’t really know exactly where I’m heading but just follow the clues until I arrive at the solution. That’s exactly what Karthik does.

The video also demonstrates somethings that I already knew but didn’t appreciate enough until I saw them in action. The first of those is using xref-find-defintions to navigate through the code. The second is setting what Karthik calls “pins” to remember locations so that you can return to them at will. He does that with point-to-register to set the pin and jump-to-register to return to it.

This is a really good video and I recommend it to all Emacs users. It’s 29 minutes, 44 seconds so plan accordingly but do try to find the time.

Update [2022-08-01 Mon 13:10]: Work → Works

Posted in General | Tagged | Leave a comment

Improvements to dwim-shell-command

Álvaro Ramírez has been busy making improvements to his excellent dwim-shell-command package. I’ve written a lot about this package recently but that’s okay because it’s something most Irreal readers would want to know about. The TL;DR is that the package provides a DWIM interface between Emacs and the shell making it easy to invoke various utilities from Emacs that would normally be started from the shell.

The new version allows dwim-shell-command to operate on a set of files in a region rather than having to be marked in dired. There’s also a marker to insert the contents of the clipboard into a command. That’s perfect for inserting a URL that you’ve clipped from, say, the browser and using it in a shell command.

Finally, Ramírez has added numeric and alphabetic counters that allow for names that are the same except for the counter value. That works just as you’d think it would. The package is, after all, meant to provide do what I mean actions.

As far as I can see, this package started out as a quick hack that allowed Ramírez to create an easy way of invoking frequent but complex shell commands. Once he’d laid down the framework, new applications kept suggesting themselves to him and the project has grown.

As I wrote the other day, the package is now available on Melpa so it’s easy to try it out if you’re interested.

Posted in General | Tagged | Leave a comment

Red Meat Friday: Commit Messages Don’t Matter

One of our sacred notions—never to be questioned—is the importance of writing good commit messages. There are hundreds of articles on how to write good messages and how to properly format them. Magit will even enforce a length limit on the first line.

But do those messages really matter? When you think about it, all the information that the conventional wisdom insists you include is easily available in finer detail elsewhere. In the case of Magit, it’s only a keypress away.

Matt Rickard makes the case that commit messages don’t matter and that our time is better spent elsewhere. My personal policy is to give a hint as to what the commit does and leave the details to diff or other appropriate commands. Once you get out of code police mode, it’s pretty clear that Rickard is right. But, of course, none of us want to get condemned for apostasy so we pretend to agree with the received wisdom.

Posted in General | Tagged | Leave a comment

Why Use Emacs in 2022

Torstein Johansen has a short video that addresses the question of why he uses Emacs in 2022. The backstory is that every time he takes a new job or consulting position, the incumbents—who all use things like IntelliJ, Eclipse, or even VS Code—stare in disbelief when they see he is using Emacs and lecture him on how much more efficient he could be if he was using a Modern Editor™.

Johansen disagrees. Maybe, he says, there isn’t a button in Emacs to automatically refactor a section of code—although such a thing could be, and perhaps has been, implemented by any user who feels the need—but what Emacs offers is speed. Speed in the sense of being the shortest path between your brain and what appears on the screen.

Johansen also makes the familiar point that Emacs has a consistent set of shortcuts that work for virtually all the packages that run inside it. Those shortcuts allow efficient navigation of editing of whatever buffer happens to have focus. He notes that this is so comfortable that Emacs users typically try to stay within Emacs as much as possible.

This leads to the well-known phenomena of Emacs users trying to migrate as many tasks as possible to within Emacs. Johansen considers himself “a bit out there” because he handles his email from within Emacs. I found that amusing since I do the same and more. As I said many times, virtually all my tube time is spent in either Emacs or the browser and I’ve migrated as many Emacs shortcuts as possible to the browser and other macOS utilities.

The kids can say whatever they want about their fancy editors but the fact remains most serious programmers use Emacs or Vim.

Posted in General | Tagged | Leave a comment

Spacing in Displayed Mathematics

Most Irreal readers probably don’t have much need to typeset mathematics but occasionally the need does arise and if you’re like me, you want it to look as good as possible. Most of us will never be as good as the people who do this professionally but LaTeX gives us a good head start and learning a few style rules means we can produce typeset mathematics we can be proud of.

Nick Higham has a short post on his guidelines for spacing in the typesetting of displayed mathematics. It might seem like this is not something we should concern ourselves with or even something we can control in LaTeX but there is plenty of ways to control such things. Consider, for example, two equations on the same line: \[ax+b=c \quad x^2+y-d=0\] and \[ax+b=c \qquad x^2+y-d=0\] The second looks better because I inserted a double quad instead of a single quad between them. Higham has other examples of small spacing tweaks that makes the final text look better.

Take a look at his post. It’s short and easy to read and may help you produce better mathematical output.

Posted in General | Tagged | Leave a comment

DWIM Shell Command On Melpa

A quickie with some good news. Álvaro Ramírez’s excellent dwim-shell-command is now available for download from Melpa. I’ve written several posts on this package [1, 2, 3] and really like what Ramírez is doing with it so I’m glad to see it’s now easily installable.

Ramírez’s post says that the package should soon be on Melpa and when I checked, it was already there. Ramírez has links to his previous posts on his announcement so if you aren’t already familiar with it, you should take a look. His posts give you a good idea of what it can do. If you’re like me and want to make Emacs the nexus of your computer activities, this package is a boon.

Posted in General | Tagged | Leave a comment

Programmers and the Flow

Every programmer knows about the flow. They know about it even if they don’t know the word “flow”. Sadly, most other people are not familiar with the concept. Especially members of the management class. This cartoon captures the idea perfectly.

But there’s a practical matter. What should a programmer do about the clueless manager (or colleagues) who think nothing of toppling the carefully constructed tower of cause and effect?

Erik Dietrich has an answer. The TL;DR is that you should present your manager with a list of numbers and offer to buy lunch if he can add them up in his head within 30 seconds. Once he starts, you interrupt him with random questions and observations until he gives up in despair.

It’s a delightful idea and seems attractive but I’m not sure it would work. The problem with the type of interrupter we’re talking about is that they think whatever they imagine their current problem is, it’s special so the usual rules don’t apply. That’s true even if their current problem is, “when do you think you’ll complete that task I asked you to do.”

Still, it’s an amusing idea and worth a read even if you probably wouldn’t use it yourself. The hard truth, though, is that the only real solution is probably working late where there’s no one around to bother you. Perhaps working from home will be the ultimate solution.

Posted in General | Tagged | Leave a comment