Archive for January, 2006

Comma separated list to .csv for Apple Mail import

Saturday, January 28th, 2006

A handy command for turning a comma-separated list into a standard .csv file. I used this to convert old Eudora contacts files into a format that Apple’s Mail could import.

cat input.txt | tr ‘,’ ‘\012′ |sed s/^/,,/ > output.csv

I believe I had to add a line at the top of each file after conversion to tell Mail what it was I was importing:

First,Last,Email (other)

GPLv3

Monday, January 16th, 2006

I attended a version of BarCamp for old lawyers today– the launch of the first draft of GPLv3, put on by the Free Software Foundation at MIT. Eben Moglen, Richard Stallman, Bruce Perens, Andrew Tridgell, Larry Rosen, Bob Sutor– all the stars were out in Cambridge, laptops shined up and beeping accessories a-dangle!

Richard Stallman is far more amusing than he gets credit for– more details in the Wikinews article I started.

I went to BarCampNYC and all I got was some lousy Flickr contacts

Monday, January 16th, 2006

I returned from BarCamp in New York last night. Overall, it was more fun than educational, but that’s only because it was so fun.

Some geeks in Palo Alto started BarCamp last summer as a response to O’Reilly’s invite-only Foo Camp. Then came BarCamp in Amsterdam, and then BarCamp in New York. About 70 people showed up for 36 hours of geeking out in the 9th floor office of a t-shirt company. I only knew three of the people there, though as a bonus, Noah T. Winer (yes, THE Noah T. Winer) showed up on Saturday night unannounced. In general, it was very refreshing to be able to make ridiculously technical jokes and still get a few laughs.

Mike Goelzer and I presented our idea for making the entire web as unreliable as Wikipedia. It went over reasonably well.

There are a lot of pictures from the event on Flickr under the tag BarCamp or BarCampNYC. In most of the pictures that include me, I look like an idiot, but there are a couple where I look relatively normal.

Points that I want to make without taking the time to embed in standard prose:

1. It was fun to see stuff about us pop up on Flickr, people’s blogs, and other websites throughout the weekend.

2. It’s interesting to meet people whose blogs/websites I’ve read before (notably Chris Messina, Tara Hunt, and Jesse Chan-Norris).

3. New York was depressing. I’d been avoiding going there for 33 years, and it doesn’t appear that I was missing much. Not going to San Francisco– that would be missing something. I realize that experiencing New York from the 9th floor of an office building is ridiculous, but at least I can rule out the possibility that it’s Nirvana.

Many thanks to Amit Gupta, Mike Goelzer, Nick Gray and everyone else who helped organize the event. You’re all invited to BarCampBoston some day, unless I move to Kuujjuaq, Nunavik.

Immersed in BarCampNYC

Saturday, January 14th, 2006

I flew down to New York this morning for BarCampNYC. We’re all in the offices of a T-shirt company on the 9th floor of an office building on Broadway. As of 3:10 pm, there are 55 registrants, we’ve consumed roughly $300 of pizza, and we’re almost out of nametags. I don’t think I’ve seen so many weird laptop-carrying zealots in one place.

There are four presentation areas: Conference, Kitchen, Dev Room, and /etc. The latter was added as an afterthought this morning as the first three rooms were filling up. The list of presentations is also on the wiki.

This morning, I saw a presentation by Duncan Werner about thumbstacks.com, a website he developed that is an AJAX version of Powerpoint. It allows you to create and share presentations on the web. Near the end of his presentation, someone asked him how many hours he had spent writing it; he replied with something like, “Longer than I should have– I started it on the 30th, so almost two weeks, working half time.” For what he demonstrated, I am impressed that he could pull it off in 7 days of work.

GPLv3 conference coverage for Wikinews

Friday, January 13th, 2006

Any BarCamp folks going to the GPLv3 launch conference at MIT on Monday? I’m planning on covering it for Wikinews, and I could use some help.

Off to BarCampNYC to talk about Wikr

Friday, January 13th, 2006

Stage 2 of my trip to New York City for BarCampNYC begins tomorrow morning around 7:30. Stage 1 was last night when I drove down to Boston from Wiscasset, Maine, where I work. I spent the day debugging a DNS problem and preparing for the Wikr presentation at BarCamp.

Wikr is a Firefox extension that Mike Goelzer and I have been working on. (Yes, it’s a stupid name, but at least it’s short.) The idea is to establish a means for synchronizing web improvements across trusted peer groups.

The “means,” in this case, is Mike’s Rails server and an RSS + SSE feed.

“Web improvements” is a contentious phrase– what improves the web for me doesn’t necessarily improve it for everyone else. The closest implementation I’ve seen of this idea is Greasemonkey scripts– scripts that allow the user to filter, augment, combine, and tweak web pages into something they prefer to the original. What Wikr is trying to do is to allow people to subscribe feeds of improvements from people or organizations that they trust. Myself, I’d love to have a feed of Google maps links embedded in any news story I read, so I can see where places mentioned are, like this imaginary weather report: “It was 10 degrees below zero in Kuujjuaq, Nunavik today.” Someone else might want a feed of spelling corrections, or a feed of bloggers’ posts about political articles they read.

“Trusted peer groups” means any group of people who trust each other and have the organization to get a feed together. Obviously, a lot of this depends on how easy it is to generate and host feeds. The Platypus extension for Firefox is a GUI for creating Greasemonkey scripts– in the end, Wikr might turn into a repackaged combination of Platypus and Greasemonkey with a little Javascript gluing it in between.

The authentication model is still half-baked. Each group will need to decide who is allowed read-only access to the feed of improvements and who is allowed bidirectional synchronization (the SSE in RSS + SSE). We haven’t developed anything beyond that principle yet.

As a demonstration for BarCampNYC, we have Mike’s server set up with an RSS + SSE feed. We also have an extension that synchronizes the pool of Greasemonkey scripts on Mike’s server to a local cache of scripts used by Firefox.

We’re also hoping to have a website and mailing list set up by the time BarCampNYC ends, so interested parties can follow our progress or join the fun.

Installing Roundcube on Dreamhost

Friday, January 13th, 2006

I followed Hookturns’ guide to installing Roundcube on Dreamhost a few days ago, but I used a more recent version (roundcubemail-cvs-20051216.tar.gz) and found that it still worked with the following changes:

  1. After Hookturns’ Step 4, change config/*.php.dist to *.php
  2. In Hookturns’ Step 6, line 54 is now line 57.

I haven’t tested my Roundcube installation thoroughly, but I was able to log in and send mail; I didn’t see any obvious errors.

Just for reference, in the Dreamhost domain management settings, I had “Run PHP as CGI” selected, but not “PHP Version 5.” This may be the default, but I was tempted to use PHP 5; maybe you will be too.

My name is Brandon Stafford, and, yes, my intent is to annoy you.

Monday, January 9th, 2006

Hello wiretappers. If you are listening, could you please point out to Mr. Bush and the Justice Department that while my general intent with much of this blog is to annoy people (Robert Kuttner, Alan Yates, et al.) through the internet, I am not doing so anonymously.

It seems that Mr. Bush has signed into law H.R. 3402, which has a section 113 that adds this phrase:

(C) in the case of subparagraph (C) of subsection (a)(1), includes any device or software that can be used to originate telecommunications or other types of communications that are transmitted, in whole or in part, by the Internet (as such term is defined in section 1104 of the Internet Tax Freedom Act (47 U.S.C. 151 note)).

to US Code Title 47, Section 223. The act now criminalizes one who:

makes a telephone call or utilizes a telecommunications device, whether or not conversation or communication ensues, without disclosing his identity and with intent to annoy, abuse, threaten, or harass any person at the called number or who receives the communications [through the internet, by language above].

Unfortunately, this is what I do when I get off work. So, you heard it here first– my name is Brandon Stafford. Yes, I am trying to annoy you, but as of now, my identity is disclosed.

Installing Xubuntu on a G3 iMac

Sunday, January 8th, 2006

I work in a school where we have lots of old iMacs that are barely usable under OS 9.2. The newest browser we can get for OS 9 is Netscape 7.0, which crashes a lot (repeatably on Gmail, for example).

Xubuntu is a derivative of Ubuntu Linux designed for low-end machines. It uses the XFCE desktop. I’ve just finished installing Xubuntu on a 400 Mhz iMac. It went reasonably smoothly, and now that I know the few tricks listed below, doing it again should be quite easy.
The steps:

1. Put the Breezy Badger for PowerPC install disk in the CD drive.

2. Reboot.

3. At the first prompt, type “server” and hit return. This will install everything in normal Ubuntu install except the GNOME desktop.

4. Install the Xubuntu desktop and the GNU display manager using apt-get:

sudo apt-get install xubuntu-desktop gdm

5. To get the graphical interface working, I had to tweak /etc/X11/xorg.conf a little. The first change was to alter the HorizSync and VertRefresh settings. I also switched from the fbdev driver to the ati driver. The snippet below shows the original settings commented out and the new settings added. (Link to full xorg.conf.)

Section “Device”
Identifier “Generic Video Card”
# Driver “fbdev”
Driver “ati”
Option “UseFBDev” “true”
EndSectionSection “Monitor”
Identifier “Generic Monitor”
Option “DPMS”
# HorizSync 28-51
# VertRefresh 43-60
HorizSync 60-60
VertRefresh 43-117
EndSection

6. The last tweak was to add a printer to CUPS manually. To enable the web administration for CUPS, I added a root password:

sudo -s

passwd

In /etc/cups/cupsd.conf, I changed RunAsUser to No, so that CUPS would run as root, and not switch to run as the user cupsys, as I believe this is what disables the web interface:

RunAsUser No

Then restart CUPS:

/etc/init.d/cupsys restart

Here is what ended up in /etc/cups/printers.conf: (Yes, I live in a farmhouse, and I work on Sunday nights)

# Printer configuration file for CUPS v1.1.23
# Written by cupsd on Sun 08 Jan 2006 07:34:40 PM EST

Info Farmhouse
DeviceURI socket://192.168.1.131
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0

Overall, Xubuntu is working really well– much better than OS 9.2. It’s only got 64 MB of RAM, but Firefox runs surprisingly well. I plan on maxing out the memory when I get the chance.

The Xubuntu people have been planning on releasing a CD version of Xubuntu coincident with the release of the Dapper Drake in April. I found the XFCE file manager, xffm, to be a little squirrely, and I couldn’t get it to connect to our file server through Samba; maybe that will work in the next release, or maybe I will have figured out how to configure Samba. The Dapper release of Xubuntu will likely be based on XFCE 4.4, which will allegedly include the first release of Thunar, XFCE’s new file manager.

Hmm. If Thunar is good, I might switch to Xubuntu entirely. So far, XFCE seems like a fast version of GNOME to me, and I spend most of my time in Firefox and a terminal window anyway.

A few corrections to Mr. Goelzer

Thursday, January 5th, 2006

I am hesitant to go head-to-head with an A-lister like Goelzer, but while I appreciate his recent post complimenting my blog, it had a few inaccuracies.

I wouldn’t say that Peter Quinn, the CIO (not CTO) of Massachusetts was forced to resign. He was harassed so much that he felt compelled to resign, but the decision was made to preserve the emotional well-being of him and his family. “Compelled” seems to me like a better description than “forced.”

Also, I don’t think Quinn’s support for ODF is “surprisingly controversial.” Rather, I would say that it is less controversial than I expected. We live in a world where Microsoft’s “PlaysForSure” certification is not lampooning Microsoft, but actually promotes music that works with their players. Myself, I don’t think marking music as playable should be a distinguishing feature.

In other realms, the value of standards is well understood. In mechanical engineering, for example, advertising a bolt as “Actually threads into our nuts” would be seen as ridiculous– a 1/4-20 bolt should fit into any 1/4-20 nut, regardless of who manufactures it.

An elementary school that advertised that it taught a special made-up language that allows its students to communicate with the rest of its graduates (”Talk to all six of your classmates in real-time!”) would find itself short on students.

I’m baffled as to why someone like Microsoft’s Alan Yates doesn’t get laughed off the stage when he suggests that a choice of standards is a good idea, but he doesn’t. The view that Microsoft is a benevolent overlord that protects our computers from nasty h4×0rs and helps us manage our private information safely is repeatably predictable, so the ODF controversy is not surprising.