Judge Orenstein in the New York Times

Remember Judge James Orenstein? He’s the federal magistrate judge in the Eastern District of New York who refused the FBI’s request to order Apple to help them break into an iPhone. I found his decision particularly interesting because the facts of the case almost exactly tracked the famous San Bernardino case that Apple vigorously resisted until the FBI gave up and found other means of getting the data. If you’re vague on the details, here’s a summary that I wrote at the time.

Orenstein recently had an op-ed in the New York Times in which he discusses privacy in the Internet age and bemoans the fact that privacy policy is being set by prosecutors who have little interest in protecting your privacy if it gets in their way. This is the result, he says, of Congress’s failure to act.

Today’s reality is much different than it was just a few years ago. Now our entire lives are very likely recorded in our smart phones. It’s little wonder that the police and prosecutors are itching to get their hands on the data they contain. Often times, that desire is justified but it should still require a warrant issued for probable cause not just some easy administrative subpoena. What’s needed are clear procedures and rules as to what’s permissible and what’s not. Currently, we don’t have that.

Orenstein puts the blame squarely where it belongs: on Congress. Their failure to act has created a void that prosecutors are happy to fill with dubious doctrines if they can find a judge to agree. Read his op-ed. It’s interesting and informative.

Posted in General | Tagged | Leave a comment

Haldar Reads Reflections on Trusting Trust

I’ve written at least twice about Ken Thompson’s Turing Award Lecture, Reflections on Trusting Trust and each time I told you to be sure to read it. It describes one of the—if not the—greatest hacks of all time. In the talk and the paper that recapitulates it, Thompson describes how he modified the C compiler to insert a backdoor into the Unix login command and arranged to have all signs of the code removed from the compiler’s source while keeping it in the binary. In a way, the paper is terrifying and after reading it, you’ll never fully trust your tools again.

If you ignored my strong urging to read the paper don’t worry. Vivek Haldar had done it for you and produced a short video describing it. Watch Haldar’s video to see how Thompson pulled off his trick but then you really should the paper itself. It’s short, easy to read, and entertaining.

Posted in General | Tagged , | Leave a comment

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