A Patent Win

This is so cool. Joel Spolsky tells how he shot down a garbage software patent with only a 15 minute effort. He did that by using his new Stack Exchange site Ask Patents, a site on which anyone, including patent examiners, can ask for prior art on a patent application. Spolsky says the process is simple and easy. Read the questions and if you see something that you know about, read the patent application—actually just part of it—and do a bit of Google searching to find examples of prior art. Read Spolsky’s post; it’s easier than I’m making it seem.

Spolsky says he hopes that some of the big players will realize that this is a way of messing with the competition and assign an engineer or two to spend a bit of time on the Ask Patents site. As he says, that would be cool.

Posted in General | Leave a comment

Printing From ibuffer

Ever since I remapped Caps Lock to Control I occasionally type 【Shift+X】 instead of 【Ctrl+X】 or vice-versa. Usually this doesn’t make much difference but when I’m in an ibuffer list it invariably causes havoc. The problem normally happens like this: I’m in ibuffer and want to move the cursor up to a different line. Instead of typing 【Ctrl+p】 I type 【Shift+p】. Unfortunately, 【P】 prints the buffer.

Usually I hit 【P】 two or three times before I realize what I’ve done and end up printing the buffer multiple times (and, of course, it’s always a large buffer). I finally got sick of this and added

(defadvice ibuffer-do-print (before print-buffer-query activate)
   (unless (y-or-n-p "Print buffer? ")
     (error "Cancelled")))

to my init.el file. Now when I type 【P】 instead of【Ctrl+p】 Emacs asks me if I really want to print the buffer. Another example of Emacs allowing me to have it my way. The only question is why I waited so long to fix this.

Posted in General | Tagged | 4 Comments

So Close Yet So Far

Crap.

Posted in General | Tagged | Leave a comment

Credit Card Numbers and Lazy Programmers

Ben, over at Brush Technology, has a splendid rant on something that I’ve written about before on my old blog. Why, in 2013, are we still suffering Websites that refuse to accept spaces in credit card numbers? There really is no excuse for this. The comments to Ben’s post offer several one line solutions to removing the spaces.

Look at your credit card. See those spaces in the number? They’re there for a reason: it makes it easier to read the number off. They also make it easier to enter the numbers on a Web form without error. It’s really annoying to enter the number as it appears on the card and then find that the last 3 digits didn’t appear in the credit card number field. Even worse is to have a moronic site tell me that the number is invalid.

And don’t even get me started on phone numbers. If this stuff bothers you too—and it should—take a look at the No Dashes or Spaces Hall of Shame that I linked in my original post.

Posted in General | Tagged | Leave a comment

EmacsMovies Looks at Gnus—Part 2

Noufal Ibrahim has part 2 of his series on Gnus up. The screencast is about 30 minutes so he broke it into two videos. As with part 1, the screen is too small to be read comfortably, even on my 27-inch iMac, so I used one of the alternative files from his Archive Page instead. The h.264 worked well for me; it streamed as normal and I could blow it up to full screen so that I could see Ibrahim’s Emacs screen easily.

Gnus is just too large and complicated to try to learn from a video so I approached the screencast as an exposition of the things that Gnus can do and why you might want to invest time in learning it. If you’re still using Net News and are looking for a single system that can read it, your email, RSS feeds, and probably anything similar with a consistent interface, Gnus is worth looking at.

That—to me—is the value of Ibrahim’s series on Gnus: you get a feeling for what it can do and what the work flow looks like. I’m looking forward to the rest of the series. I’m not sure I’ll become a Gnus user but at least my decision will be an informed one.

Posted in General | Tagged | 5 Comments

Jekor #3

Jekor has a new Emacs video up. This time it explores loading packages through ELPA in Emacs 24. The new video continues the excellent production values of the first two. This series is shaping up to be a really useful introduction to getting started with Emacs.

I’m really happy to see this new series of Emacs videos. Yes, it’s for n00bs but even experienced users can learn something new from watching them. For n00bs, it’s a great way to get started. With Jekor’s excellent beginning videos and Magnar Sveen’s superb Emacs Rocks! videos for more experienced users, we’re accumulating a really great library of instructive videos on Emacs techniques. Life is good for the Emacsian.

Posted in General | Tagged | Leave a comment

Prism Break

If you’re looking for ways to make your Internet activities more opaque, here’s a very useful site that discusses alternative software to help you be more secure. It also discusses phone services that may help too.

Most of us, of course, are not terrorists or doing anything illegal but that doesn’t mean we’re fine with having extra-legal snooping into our activities. As someone aptly put it, everyone knows what goes on in the bathroom but that doesn’t mean we want people snooping on us when we’re there.

This site is a great resource and you should bookmark it against the day that you need one or more of the services it discusses. I, for example, am not yet ready to give up iOS and OS X but:

  1. I can still use Tor and other utilities to protect my online activities.
  2. If, in the future, I do need to give up my current system, this site has good suggestions as to where to go.

Update: use → us

Posted in General | Tagged | Leave a comment

I Have Nothing To Hide

Jamie Zawinski links to a frightening response to a post on Reddit that offered the usual tripe about not caring about government surveillance because “I have nothing to hide.” The responder purports to be living in an Arab country that is “generally assumed to be a dictatorship.” He remarks that the purpose of surveillance is not to control terrorism but to control enemies of the state. That is, those who would destabilize the status quo.

He tells the fable of a young man who idealistically goes to a protest against inhumane farming practices and the consequences that follow. The story is certainly apocryphal but the poster insists that all the things he describes actually happened to friends of his. His final warning is that this is coming to a country near you regardless of how impossible it seems.

Perhaps this is alarmist. Perhaps not. One thing for sure, there is no reason to allow the government to assemble (or perhaps worse, maintain) a surveillance state. As the poster says, if this administration doesn’t use it for evil purposes, a future one will.

Posted in General | Tagged | Leave a comment

Applying defadvice to Several Functions at Once

One of the distinguishing—and most useful—features of Lisp is the macro. Sadly, we don’t often see them discussed in the Emacs blogosphere so I was happy to see Bozhidar Batsov over at Emacs Redux give a beautiful example of macro use. The problem he addresses is to save the current buffer whenever you switch to a different window1. You can switch windows in a number of ways, of course, so several functions need to be advised to first save the current buffer.

The result is that six statements of the form

(defadvice switch-to-buffer (before switch-to-buffer-auto-save activate)
  (prelude-auto-save))

are replaced with the single statement

(advise-commands "auto-save"
                 (switch-to-buffer other-window windmove-up windmove-down windmove-left windmove-right)
                 (prelude-auto-save))

using the advise-commands macro that Batsov wrote.

This neatly illustrates one of the main uses of macros: rather than writing almost identical code over and over, you abstract the common code into a macro. Be sure to read Batsov’s post to see the concept in action.

Update: Inserted missing “of.”

Footnotes:

1 It’s another question as to why you’d want to do this. As long-time Irreal readers know I was a Vi(m) user for many years before seeing the light and switching to Emacs. One of the things I really hated was that I couldn’t switch to another file without first saving the current file (I think this was fixed with the Vim multiple window commands). Still, as I’ve said before, Emacs lets you have it your own way.

Posted in Programming | Tagged , | Leave a comment

EFF

The Electronic Frontier Foundation (EFF) has filed suit in Federal Court on behalf of 19 organizations. The suit asks that the court rule that the NSA mass surveillance violates the first, fourth, and fifth amendments to the U.S. Constitution and seeks relief in the form of an injunction ordering the NSA to cease their over-broad data collection and return the illegally obtained data to its owners. It’s worth reading the actual filing to help understand the issues at stake as the EFF sees them.

But that’s not why I’m writing this. Concomitant with the suit, the EFF is having a membership drive and I’d like you to consider joining. Membership starts at $25. If you can’t afford that, send them $5 or $10 to help them carry on their work.

You hear a lot about the EFF so it’s easy to believe that it’s a huge organization but, in fact, they have only about 20,000 members. That means that every member counts and that they are probably always short of funds. Still, for 23 years they’ve been doing a lot of heavy lifting to help safeguard our Internet rights and freedoms. If the recent NSA snooping troubles you, please join. You’ll be on the side of the angels. If you don’t live in the U.S., consider donating or joining the equivalent organization in your country.

Posted in General | Tagged | Leave a comment