How Useful is Section 215 to Law Enforcement?

Despite doubling its use of bulk surveillance orders in the five years ending in 2009, the FBI could not point to a single case where the use of Section 215 of the Patriot Act helped solve a major case. That’s not some left-wing activist speaking but is the conclusion of a 77 page report by the Inspector General of the Justice Department.

Yet to hear recent remarks from the political class—I’m looking at you, Senator McConnell—the imminent lapsing of the Patriot Act is the harbinger of Armageddon. The FBI, too, has always described the act as essential for battling the Four Horsemen of the Infocalypse.

Remember this the next time the three-letter agencies and their apologists in the government trot out their usual scare tactics. What they’re really saying is, “It’s absolutely essential even though we haven’t actually used it. Still, it’s a fair trade for your civil liberties.”

Posted in General | Tagged | Leave a comment

What Would You Miss the Most?

Here’s a fascinating graph indicating what people of different age groups would miss the most as a way of getting information.

It’s interesting in its own right but it got me thinking about how I would prioritize my needs for the various choices.

Some are easy. I could easily live without television and probably would if it weren’t for the contrary views of my family. I listen to the radio only when I’m in the car so, again, I could do without it, especially since I have other ways of playing music in the car.

I don’t read hard copy newspapers or magazines so I wouldn’t mind if they disappeared as long as their digital versions were still available. Despite the many and manifest problems with the press, it’s hard to imagine doing without it completely but that doesn’t mean we need to print the news on dead trees.

That leaves the difficult choices. Of the original list, I could live with just the computer and smart phone but I’d be hard put to decide between the two of them. On the one hand, my iPhone has a browser so, as far as surfing is concerned, it can do pretty much the same things as my MacBook. On the other hand, I use my computer for more than just surfing. I’m just glad I don’t really have to choose.

How would you prioritize the list? Are there some items you could easily do without? What two items on the list are the most important to you? Could you choose between the top two?

Posted in General | Tagged | Leave a comment

Kitchin on Embedding Org in HTML

John Kitchin has an interesting post on embedding Org documents in HTML. The idea is that you embed the Org in a data URI so that the user can click on the URI and see the Org code. This is useful if you are using Org mode to write HTML documents and want to make the original Org code available to the user for inspection.

For example, if you click on this source link, you will see the Org document that I used to generate this post. The Org code is base64-encoded and inserted into the link. The code to do all this is pretty simple. You can check Kitchin’s post for the details.

The whole idea may seem a bit odd. After all, you could just provide a link to Org file if you wanted to make it available. You can read about his original motivation in this post about a previous implementation. Whether or not you find it useful, you have to admit that it’s a neat trick. And, of course, you could use it to embed whatever you like in the file.

Posted in General | Tagged , | Leave a comment

Defining the Word at Point

I just stumbled upon a new offering from abo-abo. It’s define-word, a very nice package that allows you to get a definition of the word at point. You can also specify the word in the minibuffer if you want.

The package works by connecting to wordnik, grabbing the resulting page, parsing out the definition, and then displaying it as a message. That’s nice because it doesn’t require that you have a dictionary installed to work. Abo-abo says the package is less than 50 lines so there’s no memory overhead to speak of.

OS X has a nice feature where you can three-finger tap on a word in most of the native apps and get a definition from the system dictionary. Unfortunately it doesn’t work with Emacs so I had to manually look up definitions using spotlight. That wasn’t too much trouble but define-word is so much better. I bound the commands to【Hyper+d】 and【Hyper+D】 using use-package like this

(use-package define-word
  :ensure t
  :bind (("H-d" . define-word-at-point)
         ("H-D" . define-word)))

I just installed it as I’m writing this and I’m already in love with it. A really great package.

Posted in General | Tagged | 3 Comments

The Gift That Keeps On Giving

One of the major beefs that many of us have with the NSA is that they keep doing things that make us less secure. Their latest project is trying to convince Congress to mandate back doors in crypto applications. It’s a really bad idea for the same reasons it was the last time they tried it with the Clipper Chip.

Before the Clipper Chip, we had the crypto export restrictions. One of the consequences of those restrictions was that browsers and Internet servers couldn’t be sold overseas without crippling the encryption. That was done by allowing the browser and server to negotiate a less secure key so that browsers sold overseas could still be spied on but domestic browsers could negotiate a more secure key and thus have robust encryption. The policy was doomed for obvious reasons and was eventually relaxed to the point of no longer being an issue.

The problem is that most browsers and servers still support negotiating crippled keys and, of course, criminals and governments have been exploiting that fact for some time. The last time we heard about this it was in conjunction with the FREAK attack. Now we have the Logjam attack that also tricks the browser and server into negotiating a weak key. You can read the details in this paper that describes the attack and you can check if your browser is vulnerable by going to The Logjam Attack site, which also contains a summary of the attack and statistics on how many sites are vulnerable.

As NSA meddling goes, you could consider the export restrictions fairly benign but the results of that particular meddling are still echoing from the past and causing mischief today. Part of the NSA’s mission is to secure our communications and make us all safer. I wish they’d start doing that1.

UPDATE: Matthew Green has an excellent post on Logjam that covers the technical details in a more accessible fashion than the paper. You should definitely read his post if you’re interested in this exploit. He also discusses the speculation that the NSA is using a Logjam type exploit.

Footnotes:

1

The researchers who discovered this attack note that part of Edward Snowden’s disclosures involve the NSA breaking into TLS sessions and they speculate that the Logjam attack is being actively exploited by the NSA to to do.

Posted in General | Tagged , | Leave a comment

Mastering Emacs is Out

Mickey Peterson’s new book, Mastering Emacs, is out.

I’ve already got mine. I haven’t read it yet, obviously, but from my quick scan it looks really good.

Posted in General | Tagged | 1 Comment

Follow the Money

After the Appeals Court ruled the NSA’s mass telephone metadata collection illegal, pundits and congressmen have come out in droves to press their point of view on the issue. I find it hard to understand how anyone could support something that is so obviously in violation of the Fourth Amendment. Even on their own terms, it doesn’t make sense because the Government, after much hemming and hawing, had to admit that they couldn’t point to any examples of their surveillance reaping actionable intelligence1.

If you’re the curious type, you might wonder what’s going on. If you’re a fan of mystery novels, you know the first rule is to follow the money. The//Intercept did that and discovered that the loudest voices in support of the spying have financial incentives. One needn’t be a cynic to find this unsurprising. Doubtless there are honest players who really believe the spying is necessary for our security but many of those supporting the spying are doing so for venal reasons. Keep that in mind the next time you hear someone telling you it’s for your own good.

Footnotes:

1

Well, they did discover that guy who was collecting money to send to sketchy characters in the Middle East but who here thinks that’s worth having your privacy and constitutional rights trashed?

Posted in General | Tagged | Leave a comment

The Greatest Threat

A disturbing thought from Glenn Greenwald. Be sure to follow the link.

Posted in General | Tagged | Leave a comment

Calc Quick Reference

In a comment to one of my posts on calc, Sue D. Nymme (love that handle) mentioned that he was working on a quick reference for calc and kindly provided a sneak preview. Now he reports that he’s ready to release it to the world.

Check out his github repository for the project to get a copy. It’s a really excellent resource that has the subject matter arranged in a more logical way than the others quick references that I’ve seen. You can print it (see qref-config.ps) as 1 page per sheet, a half sheet booklet, or a quarter sheet booklet depending on your needs. There are directions in the README for assembling the output into a booklet. To generate a copy, just edit qref-config.ps to choose how many pages you want on each sheet and then type make.

If you’re a calc user—and you really should be—you’ll definitely want to definitely check this cheat sheet out. I use mine all the time.

Posted in General | Tagged , | 2 Comments

Jumping to use-package Blocks in Your Emacs Configuration

Jordon Biondo published a useful gist that allows you to easily navigate to use-package blocks in your .emacs or init.el file. If you have lots of packages—and therefore lots of use-package blocks—you’ll find it useful.

Biondo recommends that you install imenu-anywhere to make the most use of the hack and I agree. Without imenu-anywhere, you have to first ask imenu for Used.Packages and then the particular block you want. With imenu-anywhere you just specify the block. You also get the choices in ido (or Helm if you have it installed) instead of just a plain prompt. You can probably get imenu to use ido as well but imenu-anywhere takes care of that for you.

Biondo doesn’t say how he invokes his code and that turns out to be a little tricky because imenu-generic-expression= is a local variable. I solved that problem by invoking it through the emacs-lisp-mode-hook. I implemented it like this (based on a comment on reddit by xuchunyang):

(use-package imenu-anywhere
  :ensure t
  :init (global-set-key (kbd "C-.") 'imenu-anywhere)
  :config (defun jcs-use-package ()
            (add-to-list 'imenu-generic-expression
             '("Used Packages"
               "\\(^\\s-*(use-package +\\)\\(\\_<.+\\_>\\)" 2)))
  (add-hook 'emacs-lisp-mode-hook #'jcs-use-package))

This bit of Elisp turns out to be pretty handy—I became addicted almost immediately—so you should consider whether or not it will improve your workflow. In either case, imenu-anywhere is a clear win.

Posted in General | Tagged | 3 Comments