Tuesday, September 1st, 2009

Stripping iPhone notices from e-mails in Gnus

I'm not a fan of the iPhone, because of its proprietary software and Digital Restrictions Management (DRM).

Sometimes people e-mail me from iPhones, and so I see that little "Sent from my iPhone" note at the bottom of their messages.

While I would prefer that people change that note (if Apple allows them to do that) to say something like, "The iPhone is Defective by Design (http://defectivebydesign.org).", my second choice would be to just not see the note. Fortunately, in Gnus — my favorite free software e-mail client — it's easy to "wash" messages.

Today to my .gnus file I added:

(setq gnus-parameters
      '((".*"
        (banner . iphone))))

(setq gnus-article-banner-alist
      '((iphone . "\\(^Sent from my iPhone$\\)")))

Now I don't have to see those notes.

Related:

(6 comments | Leave a comment)

Tuesday, July 21st, 2009

Double-plus ungood: give Amazon's Kindle a 1-star review

This is an article I wrote for the FSF Bulletin, and also posted as a review of the Kindle on Amazon.com, as part of DefectiveByDesign's campaign to let the public know about ebook DRM. You can help by digging the campaign action at http://digg.com/gadgets/Tell_Kindle_buyers_Amazon_can_delete_your_books and posting your own review.

2009-07-22: They rejected the review the first time, because I neglected to read their guidelines and included URLs (as well as some things that might be interpreted as appeals for more votes, which are also prohibited). So I revised and resubmitted, and the reviews are now posted here and here.

Don't get swindled

Proprietary software and proprietary formats are vehicles for the exercise of power by some over others. Companies that claim ownership over the software and formats involved in the delivery of information become gatekeepers determining who can and cannot access that information. The point isn't whether the people who claim such power — and are granted it by our legal system — use it for good or bad. The point is that they shouldn't have it at all. But as it turns out anyway, they generally use it for bad.

The Amazon Kindle (more appropriately known as the "Swindle"), which uses proprietary software to distribute ebooks in proprietary formats within a Digital Restrictions Management (DRM) scheme, is an example of a company claiming and being granted power they shouldn't have over books and the terms under which we can access them.

Amazon's speedy move to shut off the Kindle's text-to-speech (TTS) capabilities in response to complaints by the Authors Guild was a clear demonstration of this power. Authors Guild president Roy Blount, Jr. borrowed our "Kindle Swindle" monicker as the headline for his New York Times op-ed piece complaining that the TTS feature infringed on authors' rights. Amazon twiddled some bits and suddenly all Kindles refused to read certain titles aloud. It's still a mystery why a computerized voice reading a book aloud to you in your home is infringement on any author's right — but in this case, it's Amazon's secret software that makes the law.

This action sparked a backlash that is still gaining momentum. Blind people have been protesting in large numbers, because the TTS feature is incredibly useful to them. Their point is powerful — taking it further, we should not be content with case-specific exemptions. The problem isn't that Amazon and the publishers don't use the power properly, it's that they have it at all. In this case, they used it in a manner that disproportionately impacted blind users, and that was wrong. But if they retain the power, they will be able to use it later against someone else.

Update: They just made this prediction come true, by remotely deleting purchased copies of 1984 and Animal Farm from hundreds of Kindles. Along with the books, they deleted students' annotations on the books (http://www.defectivebydesign.org/blog/1248).

This has not been the only such instance. Earlier this year, DefectiveByDesign supporters sent Amazon CEO Jeff Bezos jars of peach baby food — a reference to an episode of Seinfeld where Kramer is banned from his favorite fruit market for attempting to return a peach — to call attention to Amazon's ban of a user for returning too many Amazon purchases; a ban which prevented the user not only from purchasing any ebooks for his Kindle but also from accessing ebooks he had already purchased (http://defectivebydesign.org/impeach-jeff-bezos-for-kindle-swindle). Though the ban was rescinded after the outcry, the leopard had shown its spots.

Amazon spokeswoman Cinthia Portugal told Wired that "Amazon is agnostic when it comes to DRM with ebooks," and that they "give content owners the choice." While Amazon has been a positive force in the world of DRM-free music, they are anything but a neutral party in the ebook world. They control the format, the device, and the store where the media for the device is purchased. If all they wanted to do was "give content owners the choice," then why did they send a DMCA takedown notice to a site hosting a tool which facilitated loading books from other companies onto the Kindle (http://news.cnet.com/8301-13578_3-10196424-38.html)?

Statements like Portugal's show Amazon's strategy: Don't look behind the curtain. Trying to get an exact description of what the DRM on the Kindle does is impossible. DRM is not even mentioned much less explained — outside of user-contributed reviews — on the purchase page for the Kindle. And yet, while the Kindle already does support some DRM-free formats, access to the restricted Kindle store is the feature being marketed most heavily by Amazon.

Whatever happens with the Kindle, we need to work to eliminate DRM on all ebooks. Here are some things you can do to protest these restrictions and promote DRM-free ebooks:

Don't get swindled. Other portable devices can both run free software and read DRM-free ebooks. FBReader is free software that runs on Android mobile devices, the OpenMoko FreeRunner, and other systems running GNU/Linux. The Bebook e-ink device publishes their reader software as free software under the GNU General Public License (GPL). As of this writing, the Bebook still includes a proprietary module for DRM support, but maybe if enough people request it, they will offer a completely DRM-free version.

Support authors who offer their ebooks without DRM. Creative Commons licenses sensibly prohibit DRM, so look for books under licenses like CC-BY-ND, CC-BY and CC-BY-SA. Another group of authors is working to tag all of their own DRM-free ebooks with "drmfree" on Amazon. You can help by supporting their work and by helping in the tagging effort (http://defectivebydesign.org/blog/1240).

Insist that Amazon start being honest about their DRM. Write to Amazon asking them to answer author Cory Doctorow's questions about DRM — and publish your letter online (http://boingboing.net/2009/05/14/kindle-owners-start.html). If Amazon is just doing what the authors want, then why aren't they answering him?

Hand out copies of "The Right to Read" (http://www.gnu.org/philosophy/right-to-read.html). Richard Stallman's short story illustrates the kind of world we can expect if we buy into proprietary devices, proprietary formats, and DRM for our ebooks.

Review Amazon on Amazon. This worked to call attention to DRM on video games, when many people reviewed Spore negatively for its DRM. The same can be done with the Kindle. Take a few minutes to write your own review of the Kindle, emphasizing the problems with DRM.

Review the Reviewers. Write to tech reviewers and point out that they failed to mention the Kindle or other device's DRM restrictions in their review. Some reviewers wield a lot of influence — people like David Pogue of the New York Times. It's mystifying that they exclude such an important misfeature when they review devices in this genre.

Please do write to us at info@defectivebydesign.org about anything you do to protest ebook DRM, and use the LibrePlanet wiki at http://libreplanet.org to share the texts and reading lists you've created. Together we can achieve the same in the arena of ebooks that we have achieved in music — a widespread recognition that people will no longer tolerate DRM.

(Leave a comment)

Saturday, May 30th, 2009

"Tabs are evil"

It amuses me way too much that one of the most famous haters of this kind of tab also rails against this kind of tab.

Also, Safari? Really?

(3 comments | Leave a comment)

Wednesday, May 13th, 2009

The War on Sharing

An article I've been working on the last couple of weeks as part of my work at the Free Software Foundation was published on TorrentFreak today:

The War on Sharing: Why the FSF cares about RIAA lawsuits

(Leave a comment)

Monday, May 11th, 2009

My rt-liberation git branch

For anyone interested, I'll be publishing my hacking on [info]yrk's rt-liberation.el at http://git.wjsullivan.net/rt-liberation.git, browseable at http://wjsullivan.net/git.

Right now I'm most interested in working on the CLI module, so I can do things like assign tickets and update their status.

(4 comments | Leave a comment)

Sunday, May 3rd, 2009

Documentation for XkbOptions

Today I learned that in Debian, all of those nifty xkboptions like "ctrl:nocaps" are listed in files in /usr/share/X11/xkb/rules.

However, none of them have helped me get my left Alt key to stop behaving like an AltGr key. xev even says that the key is Alt_L, but that's not how it's acting. The right Alt key — the one actually labeled AltGr — also behaves like AltGr. Not having an Alt key is seriously cramping my Emacs usage.

On the upside, I now have the X server starting on the Gdium, though only by using fbdev. The siliconmotion driver segfaults. But hey, progress.

(6 comments | Leave a comment)

Monday, April 27th, 2009

New ways of doing old things

Having a netbook where the X server doesn't start at the moment has given me a chance to get familiar again with the Debian console setup. Not having X doesn't affect my workflow much (which is part of why my workflow is what it is), but it's been a while since I've spent time tuning things.

I use the dvorak keymap, but this Gdium has an AZERTY keyboard. Despite the fact that I was selecting dvorak as the keymap with dpkg-reconfigure console-data, the keymap was reverting to AZERTY on each boot. I'm still not sure why that was the case, but [info]gravityboy was helpful in pointing me toward the new, unified way.

All I had to do was edit the /etc/default/console-setup file, and put the right keymap in XKBLAYOUT="dvorak". I also added "ctrl:nocaps" to XKBOPTIONS, to turn Caps Lock into another Control key. That's a lot prettier than the old way that I was doing that, which involved putting (echo `dumpkeys | grep -i keymaps`; echo keycode 58 = Control) | loadkeys - in /etc/rc.local.

I've now removed the console-data and console-common packages entirely, and everything still seems to work. I do wish that the default level of dpkg-reconfigure console-setup asked about the keymap, because then I would have figured this out on my own. As it was, I did not make the connection to see that options beginning with XKB might also affect keys in the console.

Maybe this isn't actually that new, but it's new to me :). And I shouldn't say that the X server "doesn't start" on the Gdium -- it certainly starts on the version of GNU/Linux that they ship with. It's just not working yet in the Debian installation I'm working on.

(2 comments | Leave a comment)

Sunday, March 8th, 2009

Managing photos in Emacs

One of my favorite recent discoveries in emacs is M-x image-dired. Point it toward a directory with photos, and it creates a buffer full of thumbnails for you. That by itself is useful to me — I've not been happy with any other software I've tried for just looking at the pictures on my camera's SD card and copying off the ones I want. Everything has been either too heavy or too old.

It wouldn't be useful to me except for emacs's multi-tty feature, which lets me open a graphical X frame to an emacs session running in GNU Screen. I never used graphical emacs frames before because doing so meant not being able to keep the session persistent in Screen, which was much more important to me. But now I can have both.

Often I also need to rotate the photos when I copy them from my camera. You can do this by pressing L or R in the thumbnail buffer. At first it didn't work. A little documentation reading revealed that emacs calls to an external program to do the rotation, called "jpegtran". After installing that, I can rotate the pictures. This program might be packaged as part of "libjpeg-progs" in your GNU/Linux distribution.

In addition to rotation, photos can be copied, moved and deleted by using usual dired keybindings. There is also support for adding comments.

So, basic photo management — yet another common task I can do inside of emacs.

(2 comments | Leave a comment)

Planet Emacsen (syndicated by LiveJournal.com)


The RSS-to-mail software that I've been using for years now (newspipe) apparently struggles with atom feeds, so I've been missing out on Planet Emacsen posts. I finally subscribed via the other RSS reader I use -- my LiveJournal friends page.




Planet Emacsen (syndicated by LiveJournal.com)
(3 comments | Leave a comment)

Friday, February 27th, 2009

Microsoft's patent aggression against devices using the Linux kernel

Microsoft is claiming that TomTom is violating its patents, and the specifics here seem to put other Linux-based devices like the OpenMoko FreeRunner at risk.

The suit alleges that several of TomTom's products, including some that are Linux-based, infringe on a handful of Microsoft's patents. Several of the patents in question relate to car computing systems and navigation, but there are also two that cover Microsoft's FAT32 filesystem. If Microsoft begins to systematically enforce its FAT32 patents, it could have broad ramifications for the Linux platform and for mobile device makers.

Help the End Software Patents campaign's efforts to disarm Microsoft's aggression by digging their story about it.

The article at Ars Technica has more details.

(Leave a comment)

Tuesday, January 6th, 2009

So that's how system-name works

I was doing some work tweaking emacs to be usable on my FreeRunner. I have one general .emacs file that I use on all machines, and that file looks for another machine-specific customization file:

(let ((site-file (concat "~/.emacs-" (system-name))))
  (if (file-exists-p site-file) (load-file site-file)))

That wasn't working right on the FreeRunner because (system-name) was returning "localhost", even though at the shell prompt, hostname and uname -n both returned the actual name (which is calvino).

Turns out (system-name) looks at /etc/hosts and takes the first name associated with 127.0.0.1. Which was "localhost". Putting "calvino" before that on the line solved the problem (thanks, offby1).

It's weird using menus and a tool bar in emacs again, but it goes a long way toward making things workable. As does a pleasantly large and bold font.

(8 comments | Leave a comment)

Wednesday, December 31st, 2008

Changes in Emacs Diary babbling

I've recently switched back to building Emacs from CVS again, so that I can take advantage of the multi-tty features. But after doing so, something went wrong with my calendar/diary display. I'd hit 'd' on a date, but instead of showing me the appointments for that date, it would just show my entire diary file. This caused me to miss and/or forget a number of appointments. Fortunately, the diary entries were still being correctly inserted into my Planner pages — that minimized the damage done to my life, but sometimes I still just didn't look at them.

Today I finally debugged the problem. Turns out that a few things are changing about the Emacs Diary. fancy-diary-display is being sensibly renamed to diary-fancy-display, and diary-display-hook has changed to diary-display-function and is no longer supposed to allow a list of functions. Making this change to my .emacs seems to have solved the problem, and I can now see my appointments again, whether using an older version of Emacs or a development version.

;; Diary functions changed in version 23
(if (fboundp 'diary-fancy-display)
    (setq diary-display-function 'diary-fancy-display)
  (add-hook 'diary-display-hook 'fancy-diary-display))

I think there is still an Emacs bug here somewhere, because in theory backward compatibility is supposed to be preserved.

This change is also going to affect planner-diary.el, so I'll look and see what needs to be updated in the code and docs for that.

EDIT: Hm, looks like maybe this was all a red herring. For some reason, I had the line (diary 0) also in my .emacs. When I was trying to construct a test case to report the backward compatiblity bug, I removed that line, and things seemed to then work. Since an argument less than 1 is not supposed to do anything, this seems odd.

(Leave a comment)

Friday, December 19th, 2008

EmacsWiki: Planner Mode Mobile

I'd like to make Emacs Planner more usable on the FreeRunner (and other mobile devices). A patch was submitted to our mailing list recently along these lines, to add a graphical toolbar. It got me thinking a little about what needs to be done.

I've started EmacsWiki: Planner Mode Mobile to help hash out some of these things. Contributions and suggestions are much appreciated.

(2 comments | Leave a comment)

Thursday, October 9th, 2008

Students for Free Culture Conference in Berkeley

I'll be at the Students for Free Culture conference in Berkeley this weekend, October 11-12. On the second day I'll be leading a session focused on DefectiveByDesign and Digital Restrictions Management. The idea for the day is to do something hands-on rather than just talk at people, so I'm not sure exactly what we'll do — I'm thinking possibly coordinating to produce some new audio/video/text materials about DRM, or maybe writing a statement that environmental groups who recently came out against DRM could sign on to similar to what we did with the Free Software Free Society statement against Vista, or surely there must be something we can do in response to this call for input about possible DMCA exemptions. Still brainstorming.

You should come! I didn't think I was going to be able to make it, but things worked out and Wednesday airfare specials did not disappoint. I'll be in Berkeley from Friday till Monday.

(5 comments | Leave a comment)

Monday, September 15th, 2008

T-Mobile GPRS on the FreeRunner with Qtopia

I have a GPRS connection over T-Mobile basically working on my FreeRunner using the Qtopia software. It isn't yet working for dialing over bluetooth though, to use the phone as a modem for my laptop. I hope to figure that part out soon.

Things are a little erratic — sometimes I have to try an extra time or two before it will connect to the network.

First, go to Main > Settings > Internet. From the menu icon, select New and then GPRS.

Then do the Account settings. Account name is whatever you want. The APN should be internet2.voicestream.com. I leave "Startup mode" on "When needed", but this does not yet seem to have the desired effect of connecting on demand when sending an e-mail or what not. Username and Password should be blank.

In Network Settings, I have "Timeout" unchecked, and "Auto name server" checked. Maybe I shouldn't have "Timeout" unchecked. I don't really know.

Under Advanced, I have "Auto Routing" checked, and Hardware checked under "Flow ctrl". "Wait time" is set to 15s.

Now, ssh into the device. A patch is needed to /opt/Qtopia/bin/ppp-network to get these settings right when going through the GUI, but until then, here's what I did. I removed /etc/ppp/resolv.conf and symlinked it to /var/run/ppp/resolv.conf, which is the file that actually seems to get updated on ppp connect.

A patch is also needed to do the right thing with the /etc/ppp/chap-secrets file. With the file the way it is by default, the device will attempt to authenticate even though the ppp options file tells it not to. This results in no connection. So, I added a line to tell it to stop trying. This is what my file now looks like:

# Secrets for authentication using CHAP                                        
# client        server        secret    IP addresses                     
*                *        ""                        * 

Other files of interest on the device include:

  • /home/root/Applications/Network/chat: This is the chatscript created by the GUI. I imagine that fiddling with this might make starting the connection more reliable.
  • Various /etc/ppp/peers/dialup* files are created by the GUI, and those contain the ppp settings.
(12 comments | Leave a comment)

Tuesday, September 2nd, 2008

Mr. Stephen Fry introduces you to free software (Video)

We've been working on this video for a few months now, and it's really exciting to have it finally published. Those of you who usually ignore my posts about software should take five minutes and watch this video, it's a nice explanation in a soothing accent of what it is that I'm on about all the time.



read more | digg story
(1 comment | Leave a comment)

Thursday, August 28th, 2008

Qtopia on the FreeRunner upgrade breakage and repair


Qtopia on FreeRunner
Originally uploaded by johnsu01

After doing an opkg upgrade on my FreeRunner yesterday, it quit booting. It would go through part of the boot process and then freeze on a blank screen with just a flashing cursor in the upper left-hand corner.

It seemed to be stuck at the S98qpe start stage. logread -f showed a looping mess of errors, notably:

Aug 28 17:59:59 om-gta02 user.notice Qtopia: 
qpe: symbol lookup error: qpe: undefined symbol: _ZN17QBluetoothAddress7invalidE

The binary upgrade script here fixed the problem. Use the "Qtopia update for Neo" script, but ignore the "Needs to be run from /opt/Nokia/Qtopia" instruction. It's actually designed to be run from your USB host machine, not the Neo at all. If you have changed the IP address of your Neo from the default, you'll need to fix that in this script as well. Read it before you run it.

(Leave a comment)

Friday, August 1st, 2008

Credo Mobile

Does anyone use Credo Mobile?

The Free Software Foundation isn't on their list for groups that receive funds, and to get on the list the group has to be nominated by a Credo subscriber. It looks like a service I might be interested in, but unfortunately they are based on the Sprint network, which isn't compatible with my phone or any phone I'll be purchasing in the forseeable future.

Anyone want to nominate the FSF?

(5 comments | Leave a comment)

Wednesday, July 30th, 2008

Why free software and Apple's iPhone don't mix

I've published a second article for the Free Software Foundation about Apple's iPhone, looking at the measures Apple uses to control iPhone users and prevent developers from writing free software for the platform. It turns out that this is a good example of why updating the GPL was important, and why it's a good idea for developers to use the new version (GPLv3). The iPhone is not a phone, it's a computer, and we should treat it accordingly. Having computers that tie us to a single source of software is a very scary road to go down.


read more | digg story
(Leave a comment)

Saturday, July 26th, 2008

Upsetting the Apple Cart

My personal comment from the Slashdot story about Defective By Design supporters visiting Apple stores:

It's absolutely right that people should be polite, and we emphasized that in the handout and instructions we wrote for this. Being a jerk to someone just showing up to work after a late night at the bar doesn't help anyone. And many of the Geniuses are probably at least sympathetic to us, and they probably think the Genius name is pretty funny too — everyone has to make a living.

Our goal is to communicate a message to Apple, and we use the communications channels that Apple has provided in order to do this. It's interesting that people criticize making life difficult for the employees when we are doing something that disagrees with Apple, but not of the pro-Apple crowd. What about the 500 people waiting outside to get in when the new store opened? I bet that "made life difficult" for the employees too. Besides, isn't a day full of conversations about DRM going to be a pretty easy day for the Geniuses? They don't have to debug anything, or deal with people who are furious about not knowing how to use their computer, or about some legitimate data loss :).

Organizations and companies are set up to deflect and channel criticism. If we don't use the tools we have — our voices, our dollars, and our ability to organize with others — nothing will ever get changed. Organizing a concerted effort to deliver a direct message in a respectful but firm way seems like something consumers are supposed to do when they don't like what a big company is doing. I'm honestly interested to hear all the alternative suggestions out there for communicating this message to Apple. We can't just send letters to generic customer service addresses and wait quietly. We can't just stop buying Apple products but not say why. I think we're past that point — Apple said they agreed with us a year and a half ago and yet now they are pushing more DRM than ever.

As for taking time away from Apple customers who need tech support, that is indeed regrettable but it's also inevitable. Time is a zero-sum game and Apple only has so much of it. Any customer going to the store takes time away from another. The 500 people waiting outside the store stopped me from getting in to have the conversation I wanted to have too. The question is, who is responsible for this? If Apple stuck to what they said they were going to do about DRM, or if they spent a little more money on their support services and some executives took a slight pay cut, this wouldn't be an issue. Pointing the finger at people using the option as provided to ask salient questions about the way Apple technology functions of Apple employees tasked with answering these questions is not the right answer.

So, yes — we hope and expect that everyone will be polite, but firm. I am sorry for the inconvenience caused to other customers but in consolation I can offer the statement that if we succeed, there will be far fewer agonizing and annoying DRM-induced computer catastrophes for all of us to deal with.

(1 comment | Leave a comment)
Previous 20