DRM and the Darknet

The folks over at Ars Technica UK were resting up after Thanksgiving and reran an article from 2012. The article discusses a paper (2002) by the Microsoft engineers who worked on Palladium, Microsoft’s Trusted Windows Project. The project failed partly due to a fierce backlash from the tech community that feared Microsoft was trying to lock down the PC. The paper was an attempt to allay those fears.

Meanwhile the paper, The Darknet and the Future of Content Distribution, made a series of predictions that have turned out to be largely true. The TL;DR is that DRM will always fail and never succeed in safeguarding Hollywood’s content.

The basic argument is that the DRM has to be perfect: strong enough to defeat even the most talented and motivated cracker not just the average user. I’m sure the Hollywood suits thought that if they just made the cracking hard enough to frustrate the average user, the few really talented crackers wouldn’t matter.

The paper argues that what would actually happen is that the crackers would release the decrypted content on the “Darknet” making it available to everyone. Back in 2002, “Darknet” didn’t have quite the same meaning as it does today but the concept is the same. The authors predicted that the content owners and law enforcement would target the most centralized parts of the darknet but that the darknet would respond by becoming more decentralized. That, of course, is exactly what happened.

It’s interesting to read about this 15 years on but it’s a little depressing to see that Hollywood still can’t bring itself to let get of the notion that maybe this time with this new DRM scheme we’ll succeed. Perhaps in another 15 years.

Posted in General | Tagged | Leave a comment

Working in Emacs

Some people will go to any lengths to do all their work in Emacs. I can sympathize.

Posted in General | Tagged | Leave a comment

Read Only

I just had one of those “Well Duh! Of course” moments. It came to me with this Emacs Command of the Day tweet:

I always think of Ctrl+x Ctrl+q as turning off read-only-mode in a grep or Dired buffer. See Mike Zamansky’s video on Dired for an example of the latter. But, of course, what it really does is toggle read-only-mode so if you want to put a buffer in view-mode to prevent inadvertent changes you can just use Ctrl+x Ctrl+q to turn it on.

Posted in General | Tagged | 1 Comment

Computer Languages as Weapons

For those of you who like such things, here’s a list of popular languages and the weapons they correspond to. My go to languages are Lisp and C so I guess I’m crazy and dangerous but toting an old—if reliable—weapon.

No matter your favored languages, your ox will almost certainly be gored.

Posted in General | Tagged , | Leave a comment

The pcre2el Package

In my post the other day on Mike Zamansky’s Dired video, I meant to mention one of the packages he talked about but I forgot. That package is pcre2el, a package to, among other things, convert Perl compatible regular expressions to Emacs-style regular expressions. Many people have trouble with Emacs’ regular expressions because of their syntax. They were originally optimized for working with Lisp so some of the escaping rules are just the opposite of Perl’s (and other) regular expression systems. For example, in most regex systems, parentheses are used for grouping and if you want a literal parenthesis, you have to escape it. Because parentheses are ubiquitous in Lisp, the rule is exactly the reverse for Emacs regexes. These days, of course, most people aren’t writing in Lisp so these rules don’t appear to make sense and are annoying.

For those who find this confusing or annoying, the pcre2el package offers a partial solution. The package is essentially a translator that parses Perl regexes and translates them into Emacs regexes. The two engines are different; Perl regexes have capabilities that Emacs regexes don’t so the Perl syntax supporting those features can’t be translated. Still, if you’d like to work with the Perl syntax instead of switching back and forth, this package may be just what you need. Take a look at Zamansky’s video to see an example of it in action.

Posted in General | Tagged | 3 Comments

Mastering Emacs on Sale

If you’ve been wanting to get a copy of Mickey Petersen’s excellent Mastering Emacs, here’s your chance:

If you’re an Emacser or want to be one, this is the book for you.

Posted in General | Tagged | Leave a comment

Using Emacs 38: Dired

Mike Zamansky has his latest video up. This time it’s about Dired. Dired is one of the great features of Emacs but many users are only dimly aware of it and don’t make full use of its capabilities. Zamansky’s video is an excellent introduction to some of those capabilities. One of those features, writable dired, is extraordinarily useful and something I use all the time. Zamansky has a nice demonstration of using it to rename several files at once.

One feature that Zamansky didn’t mention is doing a regular expression search on a set of files by marking them in Dired and then typing A. You can also do a query replace by typing Q. There are many more commands like these—take a look at the GNU Dired reference card for details.

As with all of Zamansky’s videos, this one is definitely worth your time, especially if you aren’t using Dired regularly. The video is about 16 and a third minutes long so you’ll need to put aside some time for it.

Posted in General | Tagged | 1 Comment

Google Apps

Regular Irreal readers know that I avoid Google and its applications as much as I can. I use DuckDuckGo for web searches, use Org mode for writing and publishing—and when I must, NeoOffice to interact with documents from the unenlightened—and use mu4e and the Apple Mail.app for email. I still have a gmail account but for years have only used it for mailing lists and now even that has been migrated to mu4e. Now I only check it once or twice a week to make sure there’s nothing else I should migrate.

Mostly, I’ve eschewed Google because of privacy concerns: I don’t like the idea of Google, or anyone else, mining my documents for private information and selling it to anyone willing to pay. That’s a compelling reason for me to stay away and I’m always surprised when folks I consider otherwise sensible say they use gmail, gcalendar, and google docs.

Now there’s an even better reason to stay away. It’s bad enough that Google is reading through your “private” documents but completely unacceptable to lock your documents when they find something they think they don’t like. As the story at the link reports, these “unacceptable things” are often false positives. Even if they aren’t, mind your own business. You shouldn’t be reading this stuff, Google, but if you are and stumble across something you think is illegal then call the police. Otherwise, as I say, MIND YOUR OWN BUSINESS.

But really, I don’t feel sorry for the people who are losing their data. At all. Google has proved over and over again that you shouldn’t depend on their apps. If you’re using Google apps for your critical tasks, sooner or later you’re going to get burned. Just ask this guy.

Posted in General | Tagged | Leave a comment

Emacs for the CEO Redux

A couple of years ago, I wrote about Josh Stella’s use of Emacs by a CEO. I’m always interested in how non-technical people use Emacs so I took note when Stella’s piece popped up again. I reread his post and mine and have to say that I didn’t really do justice to Stella’s post. It’s really excellent and you should give it a read if you haven’t already.

There’s an interesting discussion of the post on the Emacs reddit that’s also worth reading. Stella joined the conversation and said he would write a followup to his original post. I look forward to reading that and will, doubtless, write about it when it appears.

Posted in General | Tagged | 2 Comments

Ivy Occur Customizations

I really like ivy-occur and the way you can take a list of Ivy completion candidates and put it in a separate buffer that you can manipulate in any of the usual Emacs ways. The easiest way to use it is to type Ctrl+c Ctrl+o in a selection list.

It turns out that you can customize what gets put in the ivy-occur buffer for a specific command by writing a function to fill the buffer and registering it with Ivy. One really nice example is that is set by default is the swiper command. You can do a Swiper search and capture all the candidates with ivy-occur. That’s useful if you want to interact with more than one of the selections but what’s really nice is that the buffer inherits grep-mode and can be made writable with the usual Ctrl+x Ctrl+q. That makes it really easy to make multiple changes to a buffer, especially if you leverage something like iedit or multiple-cursors.

Recently, abo-abo announced a new ivy-occur customization: this time for find-file type commands. It results in the occur buffer becoming a Dired buffer. That means you can use the power of Dired to manipulate the list of files. As a real-world example, I often preview my blog posts locally in my browser. That causes the post to be rendered in HTML and placed in a file that the browser can display. Ideally, I delete that file after I publish the post but I usually forget and end up with several useless HTML files in my posts directory.

I used to deal with that by bringing up Dired, typing * . html to mark all the HTML files and then delete them by typing D. With the abo-abo’s latest change I can just type Ctrl+x Ctrl+f html$ to get a list of the HTML files and then Ctrl+c Ctrl+o t D y to delete them.

Follow the link to abo-abo’s post for all the details. And if you aren’t already using Ivy/Counsel/Swiper, you really should try them out. As I keep saying, they are my most useful package.

UPDATE [2017-11-21 Tue 15:48]: git-modegrep-mode

Posted in General | Tagged | Leave a comment