Guess Who Those Targeted Individuals Are

The Targets

Here in the U.S., today is independence day. It’s a day to celebrate our forebears’ refusal to submit to what they considered unjust treatment at the hands of their government. One of their major complaints was general warrants: the notion that the government could enter your home and rifle through your belongings at will. They felt so strongly about it that the prohibition of the practice is enshrined in our constitution as the Fourth Amendment.

Now, sadly, general warrants are making a comeback, at least in the digital realm, in the United States and most other first world countries. We all know this story: the NSA, GCHQ, and other intelligence agencies have decided that they have the right—in the name of national security, of course—to snoop on our communications and digital data without warrant or specific cause.

The NSA for its part insists that, yes, they collect almost everyone’s information but except for targeted individuals that information is flushed within 48 hours or, at most, 30 days. If, like me, you’re inclined to a nasty, suspicious mindset, you might wonder who those targeted individuals are. Your Aunt Millie is sure it’s just Osama Bin Laden and a couple of his friends but the more cynical of us wonder if “targeted individuals” might be a bit more general.

Now we have an answer. One way to be targeted is to read Boing Boing. Well, Boing Boing is vaguely left-wing, I suppose, although still well within the mainstream so why would that get you targeted? Surely, reading an apolitical, technical site won’t get you targeted. It turns out, though, that reading Linux Journal—reportedly considered an “extremist forum” by the NSA—can also get you on the list. What do these sites have in common that excites the NSA’s suspicions?

The answer is, at the same time, shocking and obvious: reading an article on the technical details of TOR, Tails, or other privacy enhancing software is enough to provoke the NSA’s interest. Cory Doctorow reports that one expert suggested that the NSA is trying to separate the sheep from the goats; to split the population into those who know how to protect their privacy and those that don’t. Naturally, those in the first group are suspicious and therefore targeted.

The Sources

If you read the links above you will see that the information is explosive. Almost too good to check as cynical journalist like to quip. So where did this story come from? The story apparently originated on the German site Tagesschau.de (in German, Google translation here). Happily, for those who don’t read German, there is an English language article that extends the Tagesschau.de article on DasErste.de. If you read nothing else, you should read this article, as it explains in detail where the information comes from and includes a link to XKeystore deep packet inspection rules.

There has been speculation that these latest revelations point to the existence of a second NSA leaker as none of this information was included in the known Snowden documents. Bruce Schneier, who has access to the Snowden documents, does not believe this information came from Snowden and believes there is a second leaker.

There’s a lot of information in the above links but you really should read it all. The original Tagesschau article was about the targeting of German sites so this story concerns you whether or not you are an American. If, after you read it, you aren’t infuriated, let me nominate you for The Alfred E. Neuman “What, me worry?” award.

Posted in General | Tagged | Leave a comment

(Lots of) Stuff You Didn’t Know About Emacs and Unicode

Christopher Wellons has another great post on the minutia of Emacs. This time it’s about Emacs unicode pitfalls. Most of us know that Emacs uses UTF-8 as its internal data representation but little more. That’s mostly Okay because almost all the time Emacs does the right thing without us having to worry about it.

It turns out, though, that there are some edge cases that you probably don’t know about. For example, some (non-ASCII) characters display identically but have different code points. That means, for instance, that equality operations can fail. Wellons discusses these and shows how to deal with them.

You will probably almost never have to deal with these cases but Wellons tells you what to look out for and how to deal with them when they do occur. This is a post you should read and bookmark for those times when you need the information it contains.

Posted in Programming | Tagged | Leave a comment

Emacs Introduction and Demo

Howard Abrams has a nice video that serves as an introduction and demonstration of Emacs. Don’t be fooled by the “introduction” part. Abrams doesn’t spend any time on the usual 【Ctrl+p】 to move up a line, 【Ctrl+n】 to move a line down stuff that take up the majority of introductions. Rather, he emphasizes the demonstration aspects and shows the new user some of the advanced possibilities that Emacs offers. Abrams covers features such as

  • Multiple Cursors
  • Expand Region
  • Org Mode
  • Writing simple Elisp functions
  • linum-relative

I hadn’t seen the linum-relative before but it looks as if it could be useful in a lot of cases. The idea is that the buffer is numbered with 0 at the line the point is on and negative numbers for the lines above, and positive numbers for the lines below. That makes it easy to jump a required number of lines. For example, if you want to jump to the line labeled 6 you could type 【Ctrl+6 Ctrl+n】. Most of the time, I use ace-jump-mode for jumps of that sort but I can see how linum-relative could be useful.

Abrams offers some other tips that you might not have seen so the video is definitely worth watching. It’s about 36 and a half minutes so plan accordingly.

Posted in General | Tagged | 1 Comment

SBCL 1.2.1

The monthly release of Steel Bank Common Lisp is out. As usual, it compiled and loaded without mishap. Unfortunately, Slime wouldn’t compile due to a missing slot in the SBCL VM module. I can call it from the command line but not with Slime from within Emacs.

If anyone gets Slime to compile and work with SBCL 1.2.1, please leave a comment and let me know if you did anything special. When I dropped back to 1.2.0, everything worked fine so I don’t think it’s a system problem. This is under OS X 10.9.3.

Posted in Programming | Tagged , , | 1 Comment

Org-ref!

A month ago, I wrote about John Kitchin’s org-ref package. At the time, it was still an alpha-level project but showed tremendous promise. Happily, Kitchin has continued work on the project and it is now in a ready-for-end-users state. It’s still not an ELPA package but it is available at Kitchin’s GitHub. The GitHub entry is interesting. True to Kitchin’s reproducible research sensibilities, the whole package is an Org file written in a Literate programming style that both documents the package and provides the code. If you’re interested in seeing how to build such a file, click on the Raw button to see the Org source.

The latest news is that Kitchin has produced a video that demonstrates the package. You can see the package in action and get a sense for how you’d use it when writing a technical document. A bibliography is one of those things that’s not really all that hard to deal with but they can be fussy and use up a lot of mental cycles on trivial details. Org-ref helps automate all the fiddly bits .

The video is just short of 11 and half minutes so you won’t need to block out a lot of time. Don’t worry about copying down any of the details; those are all in the Org file at GitHub. In a comment to my previous post, Kitchin indicated that they hope to have org-ref integrated into Org itself. I hope that happens.

Posted in General | Tagged , | Leave a comment

How Good We Have It Now

Via Dennis Ritchie’s Website, here’s a 1984 ATT&T pricelist for SysVR2 Unix. If you were an educational institution, you could get a source license for $800 ($43,000 for others). DMR discusses these prices and some of the license restrictions here.

So what does this have to do with us? For $800—even 800 current dollars—we can buy a pretty good computer, load it with Linux (or one of the BSDs) and have a much better system for just the educational price of a Unix license. If you’re young, it’s always been that way but some of us remember when it was an impossible dream.

In 1984 it was still pretty much MSDOS and $3,000 PCs for individual users. The Internet was not widely available and Windows was just starting to be available and probably wasn’t that useful. A few years later everything had changed and anyone who wanted to could have their very own, full-featured Unix-like system. These days, even non-geeks can enjoy all the benefit of Unix nicely hidden behind the Mac OS X GUI.

We really do have it pretty nice now.

Posted in General | Tagged | Leave a comment

Snowden Revisited

There have been couple of interesting articles about Edward Snowden recently. The first reports that a year after the event a majority of Americans believe Snowden did the right thing. I don’t know for sure but I’d be willing to bet that even more non-Americans believe that.

Meanwhile, The Washington Post has an amusing article on the U.S. Government’s feckless attempts to get Snowden back from the Russians. Those efforts consisted mainly of repeated, ineffective pleadings to the Russian government that they send him home.

Although it was widely recognized within the working group trying to get him back that the best hope of doing so was for Snowden to leave Russia for a third country, they effectively foreclosed that possibility by intercepting the Bolivian president’s plane based on nothing but hope that he might be on it. That step convinced Snowden to stay where he was.

It’s still too early to say how history will judge Snowden but his actions have already affected the playing field. In America, the House of Representatives have voted overwhelmingly to ban the NSA from inserting backdoors into communication systems, a good first step. On the other hand, in Britain Theresa May is arguing for more surveillance. I don’t know enough about British politics (or any politics for that matter) to gauge whether or not that will fly. One can only hope not.

It will be interesting to see where we are a year from now.

Posted in General | Tagged | Leave a comment

Documentation on the Lisp Machine

As regular readers know, one of the things I love about Emacs is its recapitulation of the Lisp Machine. Like most developers, I never had the chance to work on a real Lisp Machine so Emacs is as close as I can get. Sometimes, it’s easy to imagine that they’re the same thing. But they’re not, of course.

Take the Emacs documentation system for example. It’s truly a wonder—far better than anything other programs offer. Write your own function, add a docstring and your function is automatically added to the documentation. Extraordinarily powerful and wonderfully helpful to the end user, it’s hard to imagine how it could be significantly improved.

Hard, that is, until you see how the Lisp Machine did it. I can’t begin to describe how extraordinary Concordia—the Lisp Machine documentation system—was. Fortunately, I don’t have to. Rainer Joswig has a wonderful video that shows Concordia in action. One of the really nice aspects is how great the authoring system is. The system is object oriented and all changes are effective immediately.

If you like the Lisp Machine aspects of Emacs, you won’t want to miss this video. It’s just less than 20 minutes long so you won’t need to block out a bunch of time.

Posted in General | Tagged , | Leave a comment

Comments on Older Posts

I’ve turned comments for older posts back on. We’ll see how things go. If I start getting a lot a spam, I’ll have to turn them off again. If I do have to turn them off, is 7 days the right amount of time to keep comments active? Should the active time be longer or shorter? Leave a comment if you have an opinion.

Posted in Blogging | Tagged | Leave a comment

Bozhidar Batsov on Emacs

Continuing with yesterday’s theme of Why I Use Emacs, here is an excellent post by Bozhidar Batsov over at (think) on why he uses Emacs. Anyone who follows the Emacs scene will be familiar with Batsov. He blogs regularly and is the author of prelude, projectile, and cider as well as the excellent series of short posts over at Emacs Redux. And, of course, Sacha has interviewed him. Here at Irreal, we’ve talked about Batsov and his works several times.

Batsov starts by pointing out that although many younger programmers prefer IDEs over text editors, the IDEs all suffer from the defect that they’re not really good at editing text: they make use of the arrow and other auxiliary keys that are death to efficient touch typing and mostly rely on the mouse and menus for their UIs. They are, in short, not optimized for the thing we do the most: editing text.

He remarks that Emacs is what you want it to be, a perspicacious remark, I think. You can configure it to work how you want it to work not how someone else thinks you should want it to work. As I’ve said so many times, this is the result of Emacs’ wonderful extensibility; its provision of a lisp environment that happens to have a lot of functions useful for text editing that you can mold to meet your needs.

Batsov covers a lot of ground so I’ll let you read the post yourself. It will be well worth your time. I will note that he offers a comparison with Vim and IDEs that strike me as fair and balanced so if you’re trying to make up your mind, you may find his discussion useful.

Update: Sasha → Sacha

Posted in General | Tagged | Leave a comment