Light or Dark

I’ve long been a member of the much maligned minority who strongly prefer a light theme for Emacs and, for that matter, everything else too. All the cool kids have dark themes, some even using grotesque combinations like blue on black. The dark themers assure me that using the dark option is easier on the eyes.

It turns out—although, admittedly, I didn’t know it—that I was right all along. At least according to a recent article in TidBITS. Adam Engst wrote the article about the Mac’s dark mode feature, The Dark Side of Dark Mode, before the recent WWDC announcement that dark mode would be available on iOS/ipadOS devices as well but it takes on new force with Apple’s making the option available in its mobile devices too.

Engst makes the case, backed up with research, that the human brain has evolved to prefer dark on light. That’s partly why printed material uses that method. Light on dark makes it harder to discern shapes and read the printed word. As I say, he quotes a great deal of research purporting to show this is true. It’s an interesting article and worth reading whatever your preference.

If you’ve been around for a while, you know that I’m always suspicious of such findings. Of course, Engst quotes several studies which lends credence to the results. Mostly, though, I’m just having fun with this in a sort of “I told you so” way. Like most things different people will prefer different color schemes. And, of course, once again Emacs lets you have it your way.

Posted in General | Tagged , | Leave a comment

Working With Google Cloud Compute Instances in Emacs

If you work with Google Cloud Compute Instances, Jack Rusher has an excellent tip in the form of a GitHub Gist for you. It turns out that Tramp connection methods are table driven and you can easily add a new method by adding the appropriate entry to the tramp-methods variable. Rusher shows how to do this for Google Cloud.

There’s extensive documentation in the docstring of tramp-methods so just do a Ctrl+h v tramp-methods to get the full story. While you’re there, take a look at the existing values. You’ll be surprised at all the methods you’ve never heard of before.

Tramp is a beautiful example of table-driven code that is easily extensible by almost anyone. You don’t have to know Elisp, just how to call add-to-list.

Posted in General | Tagged | Leave a comment

The Open Access Wars

I’ve written before (1, 2, 3, 4) about Open Access and the struggles associated with it. I used to think the debate was nuanced but the behavior of the publishers have convinced me that they’re getting what they deserve. I still feel a little queasy about taking the side of the pirates but, really, how can you feel sorry for the publishers? They exploit the researchers, they exploit the reviewers, they exploit the editors, and they exploit the tax payers. Meanwhile they’re making billions in profit on the backs of labor that they paid literally nothing for.

Vox has a nice article on The Open Access Wars. If you’re not familiar with the issues, the article does an excellent job of explaining them, how we got to where we are, and what’s apt to happen in the future. Ironically, as I’ve said before, the victims have brought this on themselves. Academics continue to insist on publishing in “high impact” journals—those run by the publishers exploiting them—because they’re more prestigious and, more importantly, because the tenure and promotion committees award researchers who publish in those journals. Until universities fix that problem, there’s probably little hope of solving the open access problem.

The universities have not yet been able to take that step but they are banding together and taking a hard line with the publishers. They’re insisting that at least their researchers’ papers be available to everyone for free. Vox speculates that the system will evolve to where the universities pay for the right to publish in a journal but the results will be free to all. That’s not perfect but it’s way better than what we have today.

Posted in General | Tagged | Leave a comment

Emacs! In the New York Times!

Paul Ford, co-founder and chief executive of Postlight, has a delightful paean to open source in The New York Times Magazine. In the article, Letter of Recommendation: Bug Fixes, Fords talks about the joys of open source and the pleasures of browsing through a program’s history with a version control system like Git. He says he likes to read commits like a newspaper. It tells him what he can do today that he couldn’t do yesterday. One of the main examples he gives of an important open source project is Emacs.

He talks about Emacs going back 40 years and how much one can learn by examining how the code evolved. Over 600 people made almost 140,000 commits to make Emacs what it is today. It is, he says, the Ship of Theseus in code form. Ford remarks, “I read the change logs, and I think: Humans can do things.”

None of this is news to Irreal readers, of course, but it is significant that it’s appearing in a general purpose publication like the New York Times. Most often, what we do appears to be mysterious and arcane to the general public. Ford does a good job of capturing the flavor of some of it.

Posted in General | Tagged | Leave a comment

Org List Repair

Tim Visher, who used to publish the much-missed VimGolf in Emacs videos, just tweeted a useful tip:

I played around with it a bit but couldn’t get it to fix the thing that most often troubles me: badly indented continuation lines in a list. It did fix some other indentation errors though. If you often have problems with list indentation, try it out to see if it helps.

It’s not bound to anything by default so you have to call it by name unless you think you’ll use it enough to make your own binding. I’m going to call it every time I have a malformed list until I get a feel for exactly what it does. I did look at the code but that merely calls org-list-write-struct, which, in turn, calls a bunch of lower level functions that I didn’t have the energy to trace through.

Posted in General | Tagged , | Leave a comment

Emacs Bug Reporting Workflow

Bhavin Gandhi has a very nice and useful post on how to report and deal with Emacs bugs. He explains the process and mentions many things I didn’t know. For example, you can help with the bug processing simply by verifying that the bug exists on your system too.

There are two servers involved with reporting and dealing with bugs and Gandhi explains what they do and how to work with them. It’s all handled with email commands and is easy to use. Take a look at Gandhi’s post to see how you can help with the bug process.

Posted in General | Tagged | Leave a comment

Using Org-mode to Make Beautiful Documents

Mats Tage Axelsson has a short introduction to making beautiful documents with Org-mode. None of this will be news to regular Irreal readers who are used to me (all too) frequently writing about it. Axelsson shows the basic format of an Org-mode document and moves on to the export menu where you can choose the format you want your final document in.

I found his discussion of tags to be useful and learned a bit about the tags: option to control how, if at all, tags are exported to the final document. His discussion of the meta-data options (#+TITLE:, #+AUTHOR:, etc.) is marred a bit because he left off the colons on some of them.

The other oddity in his discussion is his explanation for why exporting to PDF is under the LaTeX heading in the export menu. His explanation makes no sense to me. Rather, I think it’s more likely that’s it’s under LaTeX because the Org document is first converted to LaTeX and then TeX is used to compile the LaTeX into a PDF. That makes a lot of sense because you can add mathematical notation to your Org file and have it typeset by TeX to get the best possible result.

His discussion is, as I suggested, elementary but it points the way for N00bs to get started and, more importantly in my opinion, makes the case that there’s no need to abandon your soul to the horror that is Word and it’s evil offspring. Although he doesn’t explicitly make the point, even if you must provide an ODT or docx document, you can still write in the comfort of Emacs and Org-mode and simply export the result to one of those formats. Of course, that makes dealing with editors and collaborators a little harder but there are solutions for those problems too.

UPDATE [2019-06-18 Tue 18:07]: Added link to Axelsson’s article.

Posted in General | Tagged , | Leave a comment

Orgzly

In my Portable Operating System post and its comments, I bemoaned the lack of an Emacs port to iOS/ipadOS or at least to the iPad. If I had that, I’d probably still use my MacBook Pro at home but I’d, for the first time, be able to easily and unobtrusively take my working environment with me wherever I went.

We’re not there yet but we can carry a crucial part of our Emacs environment on our phones and iPads. The apps that enable that are Orgzly and beorg. This post is about Orgzly, the solution for Android phone users. Perhaps I’ll cover beorg, the iPhone solution, in another post.

Because Orgzly is Android only and I’m an iPhone user, I don’t have any personal experience with it but I’ve read nothing but good things about it. You won’t get the whole Org-mode experience, of course, but you can capture notes, display agendas, and track your progress on tasks when you’re out and about. The alternative for Org users is to maintain two lists: one for Org-mode and another for the mobile app of your choice. Perhaps you can even exchange data but that’s enough friction to prevent many people from adopting it.

Josh Rollins is an Orgzly user and blogs about it regularly. In a recent post, he has a mini-interview with Orgzly’s author. If you’re curious about Orgzly, take a look at Rollins’ post. It gives you a nice overview of what the app is trying to accomplish and the project’s goals. If you want more information there’s an FAQ and some documentation to look at.

As far as I can see, the only real problem with Orgzly is that the only available syncing option is Dropbox. Due to Dropbox’s recent price increase and policy changes, that may be a problem for some users.

Posted in General | Tagged , | Leave a comment

The Data Gatherers Are Out Of Control

The Spanish Soccer League, La Liga, licenses the right to display its games. It’s very aggressive about enforcing that licensing especially in venues like bars where fans naturally gather to watch the games. The situation is much different here in the U.S., of course, but even the misanthropes at Irreal can understand the league’s desire to operate as efficiently as possible in the local environment.

What Irreal doesn’t understand is how the league thought it was okay to spy on their fans with a smartphone app that was supposed to provide team schedules, statistics, and news. When the app determined, through GPS, that the user was in a bar, it turned on the microphone to see if a game was being shown. If so, it checked that the establishment had the requisite license.

Spain’s data protection agency has fined La Liga €250,000. The league insists: Well gee, our terms of service explain what we’re doing and even give the user the opportunity to opt out. As long as that user was one of the two or three people who actually read those long and dense terms of service.

We Irreal minions are, of course, completely ignorant of the league’s financial situation but if it’s anything like, say, the American Football League’s, that €250,000 fine is a drop in the bucket and was most likely written off as a cost of doing business. You know what wouldn’t be written off as a cost of doing business? A few months in jail for some league executives. Or at least a fine large enough to get the league’s attention. Until that happens, the data gatherers will continue to run amok and abuse their users.

For its part, the league plans to continue using its fans to fight piracy and will appeal the fine. See what I mean by out of control?

Posted in General | Tagged | Leave a comment

Notmuch For Email

As regular readers know, I am a very happy user of mu/mu4e to handle my email. It lets me handle email completely from within Emacs and it happily lives side-by-side with Apple’s mail app so I can read and write mail with mu4e when I’m on one of my computers and use the Mail app when I’m on one of my iOS devices. It’s the best of both worlds.

Wojciech Siewierski tried mu4e but didn’t like it. He settled on Notmuch and notmuch.el. Like me he uses isync to retrieve his mail. He also uses msmpt to send it but I don’t bother with that. Siewierski started using Notmuch a year ago and just wrote a blog post about his experiences.

The TL;DR is that he likes it and has no plans to change. Notmuch is superficially similar to mu in that they both build and index a database of your emails. The clients, mu4e and notmuch.el are the mail user agents and run in Emacs. That means both systems offer you the advantages of reading, writing, and editing your emails from within Emacs.

The big difference, as far as I can tell, is that Notmuch likes to organize things around tags while mu simply offers a powerful search engine. At first I liked the idea of tags—I use them in virtually all my Org files—and wished mu had better support for them but then I realized that their use in Notmuch amounts to a proxy for mail folders. That’s the idea I was trying to get away from with mu. I simply throw all my read emails—at least the ones I want to keep—into a single folder and use mu’s powerful search capabilities to locate any that I need. Those search capabilities have yet to fail me in over two years of use.

Still, “different strokes for different folks” as the hippies used to say. Not everyone will like mu/mu4e and if you’re one of those people—like Siewierski—you can give Notmuch a try and see if it works better for you.

Posted in General | Tagged | Leave a comment