parker higgins dot net

Former Register of Copyrights says terms are too long

In November 2005, Register of Copyrights Marybeth Peters gave an impressively candid answer about copyright terms being too long, and that she thought such a situation was a “big mistake.” Unfortunately link rot has begun to set in, and it was somewhat difficult for me to track down a copy of the video.

(When BoingBoing linked to the video in February of 2006, YouTube was in its first year of existence, and far from the ubiquity it’s since achieved. Instead, the post points to AVI, MP4, and MPG files [formerly] hosted on iBiblio.)

I was able to dig up a version crawled by the Internet Archive, and have posted the video more prominently on that site.

New plugin: WP Emphasis

Advanced users of the New York Times may know about the “two-shift click” trick on that website: hit the shift button twice on any article page, and you then have the option to link to specific paragraphs or even highlight arbitrary sentences throughout the article, in a way that’s stored in the URL so you can send it around. It’s a shame it’s not more widely known — it’s pretty amazing.

Anyway, it works through a little Javascript plug-in called Emphasis, developed in-house at the Times and released open-source ((with no obvious license, alas)). I poked around a little bit and found that a developer named Ben Balter has released a WordPress plugin to implement Emphasis on blogs, and so I decided to give it a spin. Now you can link to any paragraph and highlight any sentence in any post: just hit shift twice and click the pilcrow or the sentence and the URL bar will update.

Every site in the world should provide at least anchor links to different paragraphs, and Emphasis seems like a pretty good method for doing it. For now I just hope it’s helpful, but in the future I’d love to see more people using it.

Implementing a CryptoParty Oneself

There’s an important rule in the cryptography world: you should never implement it yourself. So much can go wrong in the implementation of a crypto-system that you’d better leave it up to experts. Funny, then, that exactly the opposite rule applies to planning CryptoParties.

Saturday I hosted the first CryptoParty SF at Mozilla’s San Francisco headquarters, where for a few hours a few dozen people got together and participated in lectures, discussions, and workshops about privacy, security, and cryptography. It was fun, and I think people enjoyed it, but there are a lot of things I plan to improve the next time around. Here are some of my thoughts about the event:

  • We had a limit on the size of the gathering because of the venue — 100 people — and we were able to hit that many registrations without much promotion at all. But in retrospect I realize that we needed to focus on not just hitting a certain number of participants, but also making sure the right people find out about it. In fact, it’s not much of a surprise that the people who find out about an event like CryptoParty without you doing outreach are crypto nerds. It’s great that they want to attend, but it would’ve been nice to get more people who were curious and not yet experts.
  • Building on that point: there’s a risk of making too onerous a registration process, but it would have been very nice to get an impression of how much background participants had in cryptography. Primarily to give that information to the speakers, who could have shaped their talks better. Unfortunately, several of the speakers expressed concern to me during and after Saturday’s event that the talk they prepared was too basic for the audience. I actually think every talk went smoothly, but it’s unfair to put the speakers in that position.
  • There’s no substitute for planning and preparing. Yes, this is a general event tip, but it applies here. I did a pretty poor job of lining things up in advance, and I was very lucky that things went as smoothly as they did. In large part, that smoothness was due to really talented and generous speakers who were willing to be flexible and work with me on short notice. But no matter how hard you work in the few days leading up to an event, you can’t beat talking with presenters well in advance and doing real event promotion for a few weeks or months.
  • That said, everybody in the room wanted the event to succeed. That’s a lifesaver. I really owe great thanks to not only the presenters but really the attendees, who were all on board and excited. It’s easy to get worried about an adversarial crowd — fortunately that wasn’t what I was facing.

Had CryptoParty SF failed it would have been my fault, but that it was (more-or-less) successful really falls on many others. Thanks to Tom Lowenthal at Mozilla who helped with organization, motivation, and providing a venue; to my colleague Micah Lee who built the registration site and provided all kinds of support; to all of the fantastic speakers (aestetix, Marcia Hofmann, Morgan Marquis-Boire, Eva Galperin, Lee from the Guardian Project, Seth Schoen, starchy, and Quinn Norton) who gave such great presentations; to Asher Wolf for hatching a pretty wonderful idea for an event series; and of course to all the people who came out to participate in this crazy experiment.

I’m already buzzing on a follow-up event, which I think will take place in January. More details, as they say, to come.

My 2012 San Francisco ballot

On Tuesday, I’ll be voting in person for the first time in my native California. I’ve only ever voted by mail before. (I voted from Berlin in the 2008 presidential election, and had a charming exchange in broken German with the women working at the post office. They, like nearly all of Germany, were following the election as big Obama fans, so I had little trouble convincing them of the significance of the letter I was handing off.)

I’m taking more care this year to get informed on each of the ballot initiatives for California and San Francisco, and to make good decisions on them. I’ve read most of the information in the official packet on these choices, and also consulted the ACLU Northern California recommendations, the SF Gate endorsements, the SF Bay Guardian endorsements, this column from Kevin Drum at Mother Jones, and a few others.

Here’s where I stand for now; I’m putting this up here as much as a record for me as for anybody else, but they’re subject to change before election day. If you think I’m making a terrible mistake, let me know.

  • Yes on Prop 30 — both 30 and 38 address spending on education and prevent a $5 billion cut to public schools, but 30 is the better proposal.
  • No on Prop 31 — from most accounts, a ballot initiative is the wrong place to make this sort of budget policy.
  • No on Prop 32 — this is one of those zombie initiatives that keep coming back, and would weaken the political power of unions in favor of corporations.
  • No on Prop 33 — I haven’t seen any good evidence this would help anybody but the insurance company whose CEO has pushed it onto the ballot.
  • Yes on Prop 34 — repeals the death penalty in CA. This one’s a very easy call for me to make: even if you’re a supporter of the death penalty in general, which I’m not, it certainly isn’t working in California.
  • No on Prop 35 — this one’s ostensibly about sex trafficking, but overreaches in a lot of places. EFF urges opposition, too.
  • Yes on Prop 36 — three strikes doesn’t work, and causes incredible damage in California. This initiative helps restore some of the original intent of the law.
  • Yes on Prop 37 — a bit of a tough call, as consensus seems to be that a ballot initiative is not exactly the right way to make this proposal law, and the loose language could cause problems. Mother Jones is split, too, with another writer opposing Kevin Drum’s position. But Monsanto has spent a lot of money trying to kill this, and that makes me think there must be something to it.
  • UPDATE: No on Prop 38 — originally I thought it’d be fine if both 30 and 38 passed, but I’ve read a little more about how the two would interact — namely, that the one with the larger majority gets enforced while the other one gets scrapped at worst or put in place piecemeal at best — and I’ve decided to vote against this one. I really hope 30 passes, though.
  • Yes on Prop 39 — closes a tax loophole that is not politically viable to address through the legislature. I’d rather these sorts of things weren’t addressed through ballot initiatives, but as long as it’s here…
  • Yes on Prop 40

With regard to San Francisco measures: there appears to be a bit more constraint with how these end up on the ballot. After consulting a few sources, it looks like the way to vote is yes to all except Measure F. That one, though proposed by well-meaning environmentalists, would commit the city to spending $8 million evaluating an ultimately unworkable plan to drain the Hetch Hetchy Reservoir.

Of particular interest is Measure G, which declares as City policy that corporations should not have the same constitutional rights as human beings. Although it’s not binding, and actual laws to the same effect would get very complicated very fast, I think the general principle is a nice one for the city to endorse.

HOWTO: Create an animated gif from a video with command line tools

Sometimes I see a few seconds of a video I’m watching and I think that it’d make a great animated gif. But because I don’t always have access to a bunch of graphics software, and because I might be using my Ubuntu or OS X box, it’s nice to have a process that works with widely- and freely-available free software command line tools. So I’ve worked out a process that uses the command line and requires only the programs mplayer, imagemagick, and gifsicle. Here’s how it goes:

  1. Make sure you have the programs installed. On Ubuntu (or most anything Debian-based with large enough repositories — these are common programs) it should just be a matter of

    sudo apt-get install mplayer imagemagick gifsicle

    On Mac OS X, first install the Homebrew package manager, and then install these programs with

    brew install mplayer imagemagick gifsicle

  2. Isolate the segment of video you want to clip out. You’re just looking for a timestamp, so you can do this in any video player. Once you’ve got a rough clip selected, use mplayer to export that to image files. You can use the following line to do that (there are some example values in there that I’ll explain afterward):

    mplayer -ao null -ss 0:02:06 -endpos 5 -vo gif89a:outdir=gif videofile.mp4

    Here’s what each flag means.

    • -ao means audio output. It’s set to null, because there’s no sound.
    • -ss is the start position. What follows is the H:MM:SS timestamp of the beginning of the clip you want.
    • -endpos is the end position of the clip, in seconds. So here I’ve taken out a 5 second clip.
    • -vo is the video output. The next bit says to output gifs (that’s gif89a into the directory called “gif”. You can put them into whatever directory you want of course.

      For some reason the I don’t have the gif89a video output driver installed on my OS X computer, so I instead use png or jpeg in the place of gif89a up there. Your mileage may vary.

  3. You now should have a directory full of stills. In case you used any other format to output them, I use one line of imagemagick’s mogrify to convert them:

    mogrify -format gif *.png

  4. Then go through and remove the images at the start and the end that you don’t want in the final gif. Sometimes I cheat on the command line here, and just look at all the pictures with Preview or Image Viewer and delete the ones I don’t need.
  5. Finally, use gifsicle to wrap it all up into an animated gif. I usually start with the line

    gifsicle --colors=256 --delay=4 --loopcount=0 --dither -O3 *.gif > animation.gif

    and then tweak the parameters from there. Different source material calls for different settings, and I try to keep the final output as small as possible.

If you make a lot of gifs and like to mess with a lot of values, it might make sense for you to do it graphically. But this flow works pretty well for me.