Our Government in Action

Five years ago, I wrote a series of posts [1, 2, 3, 4] on the U.S. Government’s actions against Dr. Rahinah Ibrahim, a Malaysian architect who had just completed her PhD at Stanford. You can read the details in the above posts or by following the links in them but the TL;DR is that Ibrahim had been placed on the “No Fly List” and although she was allowed to travel to Malayasia for a visit, she wasn’t allowed to fly back to the U.S.

After a decade of litigation in which the government repeatedly and provably lied in court and made preposterous claims—claiming, for example, that certain information was too secret to be allowed in court even though the information was publicly available to anyone—she finally prevailed and had her name removed from the no fly list. The final irony was the she had been placed on the list by mistake, a fact the government knew for years but failed to reveal. Attorney General Eric Holder even signed an affidavit in which he swore to have personal knowledge that revealing the reason Ibrahim was placed on the no fly list would harm national security.

Now after another five years, Ibrahim has won another victory. After winning the original case, her lawyers asked for 3.9 millions dollars to cover legal costs—there was, remember, a decade of litigation—but the trial judge reduced the award to \$454,756.07 making the absurd claim that there was no evidence the government had acted in bad faith. The 9th Circuit Court of Appeals overturned the judge’s ruling, ordered that he recalculate the fees, and made clear that the result should be closer to the \$3.9 million than to the initial half million.

If you’re a U.S. citizen—or even if you’re not—this case should suggest some questions. Here’s a couple that occurred to me:

  1. Why haven’t the government officials been disbarred and fired? That doesn’t include the FBI agent who made the original mistake mainly because of a poorly designed form, but all the lawyers who knew the truth and nonetheless persisted in their false claims about Ibrahim in a court of law.
  2. Why isn’t Holder in jail? He swore to the court that he had personal knowledge that revealing the reason for placing Ibrahim on the no fly list (it was a mistake) would cause significant harm to national security. If Holder’s defense is that he was lied to by the FBI, then why isn’t that person in jail?
Posted in General | Tagged | Leave a comment

Generating RSS with Org-mode

In my Blogging with Emacs Only post, I noted that the solution under discussion didn’t include a way of generating an RSS feed. Details like that are one of the reasons that solutions involving blogging frameworks like Hugo make a lot of sense. Still, there’s something seductive about doing everything with Emacs and Org-mode.

Being Emacs, there is a solution, of course. Toon Claes shows us how to generate RSS for a post using ox-rss. Like me, Claes keeps each post in a separate file so he leveraged org-publish to handle generating RSS for multiple files. You can check out his post for the details. He includes a link to the full source if you decide you’d like to adopt or adapt his method.

Posted in General | Tagged , | Leave a comment

Multiline Fontification

The invaluable fuco1 solves a problem that I’ve stumbled upon in the past: how can you make org-mode emphasis markup—things like italics, bold, etc.—span more than two lines1. I almost never need to do this so I’ve spent zero thought on the matter but, of course, it’s Emacs so you can configure it.

It’s pretty easy—essentially a configuration change—so if you’re bothered by the current limit, head on over the fuco1’s post and get the details.

Footnotes:

1

By which we mean more than a single newline.

Posted in General | Tagged , | Leave a comment

John Weigley on Magit

John Weigley has an excellent video on using Magit. It’s very comprehensive and the content is quite dense so you may want to watch it more than once. He covers the usual easy commands that everybody uses but also some of the more esoteric commands that you may not even know existed. Certainly, I learned a number of commands I didn’t know about.

Rather than provide a content list for the talk, here’s a link to the Org notes for the talk. You may want to download that first as it makes following the talk a little easier. The talk is long (an hour and 18 minutes) so you’ll need to schedule some time. If you’re a Magit user or think you should be one, you definitely need to watch this video.

Posted in General | Tagged , | Leave a comment

Blogging with Emacs Only

As most of you know, I enjoy reading about other bloggers’ workflows. I especially like workflows that use only Emacs and Org mode without any third-party tools. In Yesterday’s post, I promised to write about Diego Vicente’s Emacs-only blogging workflow.

As I hinted at yesterday, his workflow is centered around the org-publish functionality. To a first approximation, he simply writes his post, calls org-publish and gets static web pages as output. I like that for a couple of reasons. First, everything is handled from within Emacs. He doesn’t have to worry about maintaining something like Hugo or any other third-party app and he has complete control of what his blog looks like and how it behaves.

Secondly, he’s generating static Web pages so he doesn’t have to worry about a third-party app on his hosting server either1. I use WordPress and have been happy with it but it’s a constant struggle to keep it updated and backed up. It’s written in PHP so I don’t know how it works and I can’t really make any changes to make it behave differently if I want to. If it weren’t for the pain of moving my thousands of posts over to a new system, I’d seriously consider adopting a system like Vincente’s.

If you’re looking for a simple blogging workflow that brings the ease and safety of static Web pages, take a look at Vincente’s post. The only thing missing is RSS and I have a post on handling that coming up.

Footnotes:

1

Well, other than a Web server, of course.

Posted in General | Tagged , | Leave a comment

Diego Vicente’s 2018 Wrapup

It’s a new year and thumbing through the Emacs Blogger Manual I see that I’m supposed to offer a year end perspective on my Emacs use. The problem is that after more than a decade of Emacs use, my configuration is converging to a steady state. From my Git logs, I see that I made only 49 changes in 2018 and many of those were trivial bolt tightening. The rest I’ve already written about.

Still, not all is lost because Diego Vicente, who is a more recent Emacs convert, has provided an interesting year-end wrap-up of his Emacs usage. Except for the language modes, his configuration is much like mine and, probably, much like that of most developers. One exception is his blogging setup. I’ll be writing more about that later but the TL;DR is that he uses org-publish and doesn’t depend on any third-party packages.

It’s a nice overview of one Emacser’s configuration and Emacs workflow. If, like me, you enjoy reading this sort of thing, head on over to the link and take a look. You might even get some ideas for your own configuration.

Posted in General | Tagged , | Leave a comment

Notes for Karl Voit’s Talk at 35c3

Karl Voit gave a talk about Org mode at the recent 35c3 conference. He argued the position that even if you’re a die hard Vim user—like he is—Org mode has a lot to offer and it’s worth learning a bit about it. One of his main takeaways was that Emacs is not just an editor but a Lisp interpreter that provides a framework for many (non-editing) functions such as calendars, email, and others.

Sadly, as far as I can tell, no video was made of the talk but Voit has made his notes available. The notes give an outline of the talk but more importantly provide links to all the material he was discussing. One of Voit’s major concerns is Personal Information Management (PIM) and that is one of his major uses of Org-mode.

I’m hoping that someone did capture video of the talk and will make it available later. In the meantime, we have his notes.

Posted in General | Tagged , | Leave a comment

How You Know the Copyright Cartel Is Out of Control

I get that artists don’t want others ripping off their work but saying that a cartoon representation of a real person in a video game is a violation because the cartoon character shows (a cartoon representation) of the real person’s tattoos strikes me as ridiculous. Not that common sense has much to do with the practice of IP law these days.

Posted in General | Tagged | Leave a comment

Org Mode 9.2

A couple of days ago, Bastien tweeted that Org Mode 9.2 has been released:

I’ve taken to upgrading my packages on Sunday (only) so I haven’t installed it yet but there is one incompatible change that Org users should be aware of. The “structured template expansion” mechanism—expanding <e to #+BEGIN_EXPAMPLE … #+END_EXAMPLE for instance—is completely different. The change was a bit contentious but even Carsten admitted the new system is better. Regardless, it’s now the default system. You can revert to the old system by adding

(require 'org-tempo)

to your init.el. This change—along with other incompatible changes—is described at the top of the CHANGE file, so you should definitely take a look at it.

As usual, Thanks to Nicolas, Bastien, and all the others who worked to bring us this new release.

UPDATE [2018-12-30 Sun 18:28]: It’s Org-mode not Emacs that got updated.

Posted in General | Tagged , | Leave a comment

Writing and Publishing Emacs Packages

NOTE: It turns out that I wrote about Scott’s post before but it has useful information so I’m going to publish this anyway.


Al Scott was annoyed that he couldn’t run his Mocha tests from inside Emacs. He knew it could be done because it was possible for other frameworks so he decided to write his own package. He wrote about his experience in Take Your Emacs to the Next Level by Writing Custom Packages.

Most of the post is about the mechanics of the using the Emacs compilation system. If you have a similar need, Scott’s post is an excellent go-by. The last part of the post concerns publishing the package to MELPA. Although that can seem mysterious, it’s actually very straightforward and easy to do: make the package file and open a pull request to MELPA. Someone at MELPA will check your code and if everything seems okay, your package will automatically be included in the next MELPA build. From then on, updates are simply pulled from your GitHub repository without any further action from you.

If you’ve been thinking about building your own package, Scott’s post is well worth a few minutes of your time.

Posted in General | Tagged | Leave a comment