Bloglines and the Perils of Syndication

Martin Schwimmer (The Trademark Blog) posts an interesting discussion about why he doesn’t allow his RSS feed to be carried by bloglines. Bloglines bills itself as “the most comprehensive, integrated service for searching, subscribing, publishing and sharing news feeds, blogs, and rich Web content.” Or, in other words, it aggregates different weblogs and other sources that publish in RSS format so that a reader can get all their selected information from one website.

Although many people use “offline” RSS aggregators like Straw for GNU/Linux and SharpReader for Windows (I don’t know what OS X people use), for people who don’t access the web through a single computer all the time, a “free” website that performs this aggregating service sounds like a good idea.

The problem, Schwimmer points out, is that Bloglines has a business plan. And that business plan has been described by at least one analyst as AdWords on Steroids. Bloglines plans to use weblog content written by other people for data mining and targeted advertising, without the writer’s permission.

This doesn’t sit well with me. First, as an online privacy advocate (despite my recent outing of two anonymous U-Haul commentors), I’d rather not provide grist for data collection and profiling, especially where the readers are quite unlikely to realize what is happening. Second, I have no control over the content of the ads that might surround my blog. Google AdWords has provoked a lot of controversy (not to mention several lawsuits) by selling trigger words to advertisers that include competitor’s trademarks. I think Google is probably right, both legally and in terms of commercial ethics, in that scenario—consumers searching for ‘Nike shoes’ might in fact benefit from a link to New Balance with the description ‘New Balance shoes are cheaper and better quality!’, and aren’t likely to be confused about the source or origin of what they’re getting.

I am less comfortable with the idea that there might be ads surrounding my weblog entries for porn, online gambling, or worse — legal services. Unlike the Google AdWords example, in that case Bloglines (or another commercial aggregator/data miner) would be using the fruits of my own labor in a way that might associate me with entities I do not want to endorse or that might be in direct commercial competition with me. It’s fairly intuitive to think that not only does an advertiser endorse particular content, but that the creator of that content at least nominally endorses the advertiser. This is why political magazines like Ms. Magazine did not accept advertising for many years (although they do, within certain limits, now).

Finally, from an economic perspective, it seems to me that Bloglines would be profiting without really doing anything productive or creative: the only value-added is the advertising itself, and perhaps the aggregation feature, but that is available for free without advertising from other sources.

It’s useful to compare the function of commercial Linux distributors like SuSE and Red Hat with Bloglines. The commercial Linux distributors take free content, package it, certify it in some way, support it, help fix bugs, provide a “bricks and mortar” infrastructure for getting the product out there, all requiring a substantial input of resources. To take blog content and put ads around it, on the other hand, requires almost no creative (or other) resources. I suppose they are providing some bandwidth that might be useful if the blog publisher is short on that, but a better solution in that case would be for the blog publisher to run ads themselves and use the money to pay for more bandwidth.

Presently it appears that I have seven or eight Bloglines subscribers. I won’t be cutting them off any time soon, but I am considering licensing my blog enter a noncommercial Creative Commons license that should prohibit the kind of data mining and advertising that Bloglines is planning with content I create. Although I think that kind of license is inappropriate for most software (and certainly doesn’t comply with the Debian Free Software Guidelines) I think it might be the only way to avoid some of the consequences discussed above.

Blizzard 2005


(front)

(back)

Today’s forecast reports:

Any travel is strongly discouraged. If you leave the safety of being indoors… you are putting your life at risk.

Above is our front yard picnic table and our back yard picnic table as of this morning—they might be totally gone by the end of the day. Good thing it’s no weather for a picnic.

Incidentally, if anyone has any ideas about how to take good quality digital photos of snow, or how to use the GIMP to get better whites, please let me know. I did a little fiddling with these shots, but it’s really much brighter out there than these images would have you believe.

Being both sick and snowed in inspires me to file bugs and ask mailing list questions. For example, this bug with mplayer that prevents me from playing AAC files that I’ve tagged with mp4tags has been bugging me for a couple of months. And I just learned that sending a USR2 signal to openbox forces ‘reconfigure’, which is quite useful if you script changes to the rc.xml file.

Now if someone could help me with this strange, intractable Apache bug my day would be complete.

U-Haul Responds

A few weeks ago I wrote a blog entry detailing some of the problems I’ve had with U-Haul. Just a few minutes ago, I received two additional comments, one from “jen”:

i think you people need to relax and realize that we are all human and so mistakes can be easily made also we all know computers are all ways having problems so i think you people need to stop whining and move on with your life

and one from “ange”

cry me a fuckin river

Interestingly, these are actually both the same poster—here are the entries from my server logs:

 205.241.11.6 - - [19/Jan/2005:16:06:44 -0500] "POST /weblog/the_man/uhaul_sucks.html HTTP/1.1" 200 33399 "http://adam.rosi-kessel.org/weblog/the_man/uhaul_sucks.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0)" 205.241.11.6 - - [19/Jan/2005:16:07:52 -0500] "POST /weblog/the_man/uhaul_sucks.html HTTP/1.1" 200 33563 "http://adam.rosi-kessel.org/weblog/the_man/uhaul_sucks.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0)" 

The person got to my site by doing a Yahoo search for “u-haul” (hey, I come up #7):

 205.241.11.6 - - [19/Jan/2005:15:58:02 -0500] "GET /weblog/the_man/uhaul_sucks.html HTTP/1.1" 200 12184 "http://search.yahoo.com/search?p=u-haul&fr=FP-tab-web-t&toggle=1&ei=UTF-8" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0)" 

Most interesting, however is the identity of the IP address block—here’s the result of ‘whois 205.241.11.6’:

 Sprint SPRINT-BLKF (NET-205-240-0-0-1) 205.240.0.0 - 205.247.255.255 UHAUL, Inc. SPRINTLINK (NET-205-241-11-0-1) 205.241.11.0 - 205.241.11.255 

So apparently a U-Haul employee pretended to be two anonymous/pseudonymous posters to say, “Give U-Haul a break, they’re not so bad.”

Spammed By The Marines

I recently received this message from “Captain DeStefano” at my Northeastern University email address. He has this to say:

My name is Captain DeStefano. I am the Marine Corps Officer Selection Officer here in Boston. The reason that I’m mailing you is because I want you to be aware of an awesome summer training program called the Platoon Leader’s Course (PLC).

Interestingly, this is an opt-out spam, and apparently I’ll continue to receive them unless I “click here”:

This email was sent to you to assess your interest in U.S. Marine Corps Aviation. If you prefer not to receive future emails, click http://usmc.marines.com/unsubscribe or copy and paste this URL into your browser. Please review our privacy policy at http://www.marines.com/privacy_policy/default.asp

I wonder if the Marines actually harvested all of the @neu.edu email addresses on the web or from some third party source; or if Northeastern willingly turned them over, for fear of reprisal under the Solomon Amendment, which has been used to threaten educational institutions that receive federal money if they refuse to let military recruiters on campus.

In either case, it strikes me as inappropriate and vaguely desperate. The email is clearly directed toward current undergraduates—I wonder if they actually emailed all graduate students as well as law school alumni with active email addresses such as myself?

(I can just see the slashdot headline now: U.S. Military Resorts To Spam For New Recruits).

Waist Deep in the Big Muddy

Richard Shindell’s new album, Vuelta, is great. (Vuelta means turn, reconsideration, or homecoming). I’ve been a Richard Shindell fan since I first saw him at a free folk festival at Harvard in 1996 or 1997 (anybody know what that festival was?). I’ve always preferred his live performances to his albums, though, because I find the full backup band on the album gets in the way. A lot of folk performers seem to like to record with backup bands, maybe because it makes it more interesting for them since they often tour solo—but I almost always prefer the solo acoustic performance.

Shindell has moved to Argentina since his last album, though, and this one is much more sparse by way of instrumentation. The album is also more brooding than his others—although Shindell has never been a lightweight pop songwriter by any standard—and Shindell’s outlook has clearly been made dark by world events since September 11.

My favorite song on the album is Shindell’s adaptation of Pete Seeger’s Waist Deep in the Big Muddy, a story about a World War II army training operation in Louisiana gone awry. For some reason, it only recently became obvious to me that this song is actually about Vietnam.

The song has fresh relevance now in the context of the Iraq war, even if you don’t buy into a simplistic “another Vietnam” analysis. Here is an excerpt (OGG file, 30 seconds, 630K) from the song that goes to the heart of the matter:

“Captain, sir, with all this gear
No man will be able to swim.”
“Sergeant, don’t be a Nervous Nellie,”
The Captain said to him.
“All we need is a little determination;
We’ll soon be on dry ground.”
We were waist deep in the Big Muddy
And the damn fool kept yelling, “Push on!”

Or, as Secretary Rumsfeld puts it: “You go to war with the army you have, not the army you might want or wish to have at a later time.”

Bizarro Ipod

I don’t know if this (5.6M QuickTime MOV) is making the rounds of the blogosphere, but it should.

Where Did “Open With” Go?

Living at the bleeding (well, leading) edge of open source development can be quite disconcerting as a desktop user. For example, in some recent nautilus upgrade, the “open with” option for folders just disappeared. I used this to queue up folders of music in xmms. Moreover, the “open with application…” option for files no longer gives a nice dialogue where you can define applications for file extensions (or specific files)—now it just prompts for a command to run. Where did it all go?

I think my blog has been too “consumer protection” focused lately—see my recent entries on WLI Reservation Rewards (now up to 25 comments!) and U-Haul for example. I’m afraid I’m becoming a one trick pony, so I’m going to limit my consumer complaints for a while, even though I’ve got a nice one stewing about Verizon. Steve says I’m actually a three trick pony: Linux, IP law, and consumer scams. Maybe he’s right.

Linux Information

I use Debian GNU/Linux unstable (sid) distribution.

This is information I wish I could have found on Google. Perhaps it will be of use to you.

  • CUPS Client-Error-Forbidden
    I kept getting the “client-error-forbidden” error when attempting to cancel print jobs through the CUPS web interface when the job had been submitted by someone else; in /var/log/cups/error_log I would see error messages like ‘cancel_job: “” not authorized to delete job id 659 owned by “anonymous”!’. The solution was simple; I had to add AuthClass System and AuthType Basic to /etc/cupsd.conf under . That is, you should have at least the following in your cupsd.conf:


    AuthClass System
    AuthType Basic
    Allow from 127.0.0.1

    Previously I had no AuthClass line and thus could only cancel print jobs originating from the system running the server. I consider this to be a bug, and filed a report on it, although the cups maintainer insists it is necessary for security (check out my bug report for more detail).
    I wrote a tiny little patch (download for cupsys 1.1.14, or download for cupsys 1.1.20) that allows you to specify AuthType None for jobs. You cannot set AuthType None without this patch. Note that this will make your system insecure inasmuch as anyone can see anyone else’s jobs if you provide this option. You can also download Debian packages (for woody, sarge, and sid) and RPM (Red Hat) Packages (untested) of cupsys recompiled with the option to turn off job authentication. If you prefer, add the following line to your /etc/apt/sources.list to use apt-get to upgrade to my cups packages (unstable, testing, or stable):

     deb http://adam.rosi-kessel.org/debian unstable main 

    Note that you will need to modify your cupsd.conf if you also want unauthenticated users to be able to cancel, hold, and release jobs. Here is an example.
    (I am currently getting about 25-35 unique visits a day from people searching on this problem; let me know if my fix worked for you or if I should be giving additional information!)
    Update 8/10/04: This patch has finally been applied to the Debian package and the default cupsd.conf file fixed to not give the “client-error-forbidden” error by default. I’m not sure if this update will make it into the next version of Debian stable (Sarge), but it is currently in unstable.
    Update 12/31/04: A SuSE 9.0 user suggests the following solution under SuSE. First, set up a CUPS admin account and password using:

    sudo lppasswd -g sys -a root

    Then, modify /etc/cups/cupsd.conf to read:

     AuthType BasicDigest AuthClass Group AuthGroupName sys Order Deny,Allow Deny From All Allow From 127.0.0.1 
  • SMC 2632W V3 under Linux
    There are details scattered all over the web about how to get this card to work. Part of the confusion is that each version of the card uses a different chipset (SMC 2632 V1, V2, and V3). If you have the V2 or the V3 you need to use the atmelwlan driver. The proper module is pcmf502rd (pcmf502r is for the V2 card). Also, the key factor for me was building a kernel with i82365 compatible bridge support enabled (CONFIG_I82365=y) as well as, obviously, PCMCIA and CardBus support (both in kernel—not the separate PCMCIA kernel modules). First, you build the kernel, install and boot into it, then run the configuration and install scripts for the atmel drivers (make config; make all; make install). Finally, you need to create the file /etc/pcmcia/smc.conf with the following contents:
     device "pcmf502r" class "network" module "pcmf502rd" card "SMC 2632W V2 11 Mbps Wireless PCMCIA Card" manfid 0x01bf, 0xb301 bind "pcmf502rd" 

    Hopefully this will work for you. It did for me kernel 2.4.22 and Debian Unstable. Once I had this setup, it “just works.”

  • Gaim with Encryption
    Would you like to have encrypted instant messenger conversations? Gaim-Encryption use OpenSSL to provide transparent RSA encryption as a Gaim plugin. You have to recompile the program, though. For your convenience, here is a Debian package of the latest Gaim with the encryption plugin built in. Alternatively, add this line to your /etc/apt/sources.list file and you can upgrade to Gaim with encryption:

    deb http://adam.rosi-kessel.org/adam/debian unstable main

  • glabels and Avery 5376 labels
    Having trouble printing with glabels 0.4.6 and Avery 5376 labels? After dozens of attempts, I’ve decided that the definitions file is wrong. You need to edit /usr/share/glabels/predefined-labels.template (as root) and change the layout line to:

    I’ve reported this suggestion to glabels, we’ll see if it gets incorporated.

  • Gdk-WARNING: Missing charsets in FontSet
    Do you ever get the Gdk-WARNING **: Missing charsets in FontSet creation ISO8859-1 error? Several postings to e-mail lists got me no help on this. It turns out, for me, it was simple: a theme had installed itself in ~/.gtkrc that was looking for a font that wasn’t there. Rename your ~/.gtkrc and see if you still get the error.
    Incidentally, I get an awful lot of hits from people searching for this error. If this fixed your problem, let me know, and if it didn’t, let me know what did and I will post it here!
  • GNU/Linux on an OmniBook
    • If you run GNU/Linux on an HP OmniBook 500, you can probably find all the information you’re looking for on the GNU/Linux on HP Omnibook Laptops site. Although the site isn’t terribly up to date, the mailing list and archive are invaluable resources.
    • I also recently installed Debian Woody GNU/Linux on an HP Omnibook XE4100. As far as I know, there are no webpages devoted exclusively to GNU/Linux on the XE4100, but there are some about the XE4500, a similar model (one for Red Hat and one for Debian). The proper driver for XF86Config-4 is “savage”, and sound requires the “via86cxxx_audio” module (under kernel 4.2). CD-ROM and network worked right out of the box. I haven’t gotten a chance to try the modem.
    • XF86Config-4 file for HP OmniBook 500 with External Gateway 2000 1572 DG Monitor.
      I use this file when my laptop is docked. I’m not sure that the timings are perfect, but it works, and there seems to be a great dearth of information about there about this monitor.
  • MaxBlast/BIOS Issues
    Having trouble with a MaxBlast hard drive on an old system with an obsolete BIOS that needs its own bootloader? I found switching to grub from LILO did the trick for me. I’ll post more details about this, which also involved the Windows NT (Windows 2000) boot loader as well.
  • Destroyed Partition Table
    Did you just destroy your partition table, perhaps because you ran dd over /dev/hda rather than /dev/fd0? And your system is still up and running, in fact you’re reading this web-page, but know when you reboot, you’ll be toast? Well, good! I have a cautionary tale for you about how to avoid this situation, but also an easy way to recover if you follow the enclosed directions.
  • Emusic, Zinf, and Segfaults
    Are you an emusic subscriber unable to use the recommended player, zinf (“Zinf Is Not FreeA*p”) for batch downloading? Emusic recommends zinf for Linux users, but unfortunately zinf segfaults when loaded with an “emp” file. I wrote a shell script hack to fix this (the segfault can be avoided by renaming the .emp to .rmp, but then discovered fetchrmp by Doran Barton. So I’ve modified that script to give some additional options: place downloaded files in a hierarchy by genre, album, and artist, and also play music when downloaded. The modified script is called fetchemusic and you can download it here. Note that you’ll need the the Perl XML-EasyOBJ module for this to work, which is not included in Debian (you’ll also need modules LWP::Simple, Getopt::Long, File::Path, and File::Copy, which are all in Debian. The emp segmentation fault has been around for a while, it was reported to Debian in October 2002. Let me know if you’ve had this problem, if you have any other solutions, or if my script is useful to you!
    (Update 6/3/03: Unfortunately, Emusic has switched to an encrypted file format, so this script will no longer work! I’m leaving it here in case it ever becomes useful again.)
    (Update 10/1/03: Someone has written a very nice perl script that works with the new encrypted EMP file format, called decrypt-emp. Get it now!)
  • French vs. North American Wireless Channels (or, why can’t I connect to my Access Point with my Xircom CWE-1120-FR?)
    I’ve written a few times about my wireless woes. I couldn’t for the life of me figure out why my Xircom CWE-1120 card couldn’t connect to my Access Point. As it turns out, the card was set to the French Channel Set, which is different from the North American Channel Set, except on Channels 10 and 11. So I set my Access Point to Channel 10, and now I can finally access my network. There is, allegedly, a DOS command line tool that allows you to reprogram the EEPROM on Cisco cards to switch the channel set to North American, but I was unable to locate it. In fact, Intel (who purchased Xircom, which produced the card) was very wary of the whole topic. I suspect it might be illegal to have/use this tool, since it might permit you to set your card to a mode that violates FCC regulations. Intel was actually pretty spooked that I even had the cards (which I purchased legitimately in the United States, thinking they were North American cards). Thanks to Dan Lanciani on the airo-linux-gen80211 list for finally pointing this out to me.
  • Volume Problems on a Toshiba P25-S477 Laptop
    I’ve been trying to set up GNU/Linux (remotely) on my brother’s Toshiba p25-s477 (one of a seemingly endless number of obscurely named Toshiba laptops). Almost everything worked fine, except the sound was almost inaudible, and substantially distorted with external amplified speakers. It turns out I needed to go into the alsamixer (ncurses GUI) program and set “External Amp Power Down” to “Mute.” This is far from intuitive: first, that “external amp power down” would be “on” by default, and second, that you need to “mute” this setting to have “power down” turned “off.” But that’s how it works. (solution posted by someone in the aesthetically weird tlinux-users mailing list.)
  • Functional Java Packages for Debian Sid Mozilla
    I’ve been looking for functional Debian Java packages that work with latest Mozilla in sid. I tried downloading several Java binaries from sun and elsewhere and either it didn’t register in Mozilla or crashed immediately. I finally discovered José Fonseca’s excellent Java packages that actually work. Add the following to your /etc/apt/sources.list to get these packages:

    deb http://jrfonseca.dyndns.org/debian ./

  • Procmail Detritus Filters
    Here’s a good procmail recipe that should catch a lot of viral email—both actual viruses, and bogus “we caught a virus coming from your account” messages. Note that you need to increase from the default line buffer length to have this all packed into one expression:

    LINEBUF=3000
    :0
    * ((^Subject: (Virus infection notice|New Network Security Upgrade|Newest Net Update|Newest Internet Upgrade|Newest Internet Security Patch|Internet Security Pack|New Internet Security Patch|Latest Critical Pack|Latest Net Upgrade|Latest Network Critical Update|(Latest|Current|Newest|New) (Microsoft|Net(work)?|Internet) (Security|Critical) (Update|Patch|Pack)|Current Microsoft Critical Pack|Newest Critical Pack|Latest Net Security Pack|Current Net Critical (Pack|Patch)|Latest Network Critical Pack|Abort Report|A virus has been detected in a document you authored.|RAV Antivirus:|BitDefender found an infected object|Virus Detected by Network Associates, Inc. Webshield|—— Virus Detected ——|Virus detected|Virus Alert|InterScan NT Alert|Virus found in the message|Message quarantined|VIRUS ALERT!|MDaemon Warning – Virus Found|Warning: E-mail viruses detected|ScanMail Message: To Sender virus found|VIRUS IN YOUR MAIL|Norton AntiVirus detected|VIRUS .* IN YOUR MAIL|Antigen found VIRUS|Filter incident|V.rus figyelmeztetés! Virus warning!|Symantec AVF detected|Returned due to virus;|Anti-Virus Notification|BANNED FILENAME|File blocked – ScanMail for Lotus|NAV detected a virus|RAV AntiVirus scan|VIRUS .+ IN MAIL FROM YOU|Virus Notification:|Virus found in a message you sent|Virus found in sent message|VIRUS EN SU CORREO|Warning: antivirus system report|M..Daemon Notification — Attachment Removed|Information – Antivirus|Symantec AntiVirus detected a violation|WARNING: YOU WERE SENT A VIRUS|SAV detected a violation in a document|MailMarshal has detected a suspect attachment|A virus was detected in your mail|Recipient Virus-alert|Virus Found in message|E-?mail viruses detected|Undelivered mail: VIRUS FOUND|Quarantined Mail: virus from|Failed to clean virus|Virusveszely! Virus warning!|Virus in mail from you.|Possible virus found in mess..age you sent|AntiVir ALERT|Centrale Anti-Virus melding|Vexira ALERT|You sent potentially unsafe content|ID.*thanks ScanMail has detected a virus!|\{Virus\?\}))|(^X-BLTSYMAVREINSERT|^X-Virus-Scan-Result: Repaired|^X-AtHome-MailScanner: Found to be infected|^X-Scanned: Symantec Antivirus Scan – Virus found|^X-Sender: NetMail AntiVirus Agent|^X-yoursite-MailScanner: Found to be infected|^X-ELTE-VirusStatus: was_infected)|(^To:.*MS Network Security))
    virus

    And here’s a simple way to filter spamassassin mail into two folders, one which is “very certainly” spam and one which is “probably” spam:

    :0
    * ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*
    verycertainspam

    :0
    * ^Subject:.*\*\*\*\*SPAM\*\*\*\*
    probablyspam

  • Firefox 0.9 remote newtab syntax
    When I open a link from another application (gnome-terminal or evolution, for example), I would like it to open in a new tab in Firefox, so I had a script which I called newmoz:

    firefox -remote “openURL($1,new-tab)”

    This is my default web browser. With Firefox 0.9, the syntax has changed. You now need:

    firefox -a firefox -remote “openurl($1,new-tab)”

    I believe this has something to do with the confusion of the possibility of several related Mozilla applications running all at once, although I’m not entirely convinced. To make it really snazzy, try:

    firefox -a firefox -remote “openurl($1,new-tab)” || firefox $1

    This way, if firefox isn’t already running, it will still work.

  • Email yourself after a long task
    This is a really obvious one, but I only recently thought of it. Due to several recent failed hard drives, I’ve been moving a lot of data around from one drive to another, some through NFS, and some over my cable modem. Moving 200 gigabytes, even within a LAN, takes a long time—even longer if you throttle it so as not to congest the network too much. I would find myself checking back on the process every few hours, even though I knew it probably wasn’t done. So why not append a mail command after a long process? E.g.:

    rsync -Pa / storage.system.somewhere:backup ; echo done | mail adam

    Since I’m always checking email, I’ll find out as soon as it’s done, and waste less time continually checking back on the process, especially when the transfer might take three or four days.

  • ssh timeout error/connection reset by peer with rdiff-backup and D-Link DI-604 router
    Backing up bostoncoop.net over a cable modem takes a long time. If something goes wrong, rdiff-backup has to roll back the previous backup and start over. As best I can tell, rdiff-backup first makes the connection, then starts the roll back, but doesn’t send or receive any data during the roll back. On my system, the roll back can take longer than the timeout period for my DI-604 router—the consequence being that the connection is reset before the backup can start and rdiff-backup fails out.

    There’s an easy fix, which should come in useful to anyone with a router that is too vigilant about timing out ssh connections (for example, if you ssh to get your email and often leave the window alone for an hour at a time). Add the following to your .ssh/config:

    serveraliveinterval 300
    serveralivecountmax 10

    This will insure that ssh will occasional send an ACK type request every 300 seconds so that the connection doesn’t die.

  • Fixed font in gnome-terminal
    I’ve wanted to use gnome-terminal for a long time, primarily because of the tabbed terminal feature (many terminals in one window) and because of the URL recognition (open a URL by right clicking on it). I also like being able to paste into the window with the keyboard.

    There was always one problem, though. The font. I know some people like the new fixed-width GNOME fonts, but I don’t. I just wanted plain old fixed, which I use with xterm (10×20). But that font never showed up in the list of available fonts.

    I finally found the solution in /etc/fonts/local.conf—namely, the following lines:

       

    Just uncomment the path, run fc-cache as root, and you should see fixed in the output of fc-list.
    I’m not sure how a naive user would ever figure this out, but then again, maybe a naive user wouldn’t care that much about having fixed font in gnome-terminal. I also don’t understand why we wouldn’t users to have access to bitmapped fonts by default—why not just set the default font to something the GNOME people like, but have the other choice in there to start?

  • Reading Annoying HTML Mail in Mutt
    I’ve tried several solutions for reading broken HTML mail in mutt, including my own custom Python hack, addMIMETextToHTMLEmail (this was actually the first Python program I ever wrote). Reasonably nice mail clients will send a plaintext part in addition to the HTML mail for us textophilic email users, but the dominant Microsoft Hotmail and Microsoft Exchange send HTML-only mail with no plaintext part. I wonder if they do this because they expect anybody worth writing to these days is using Microsoft Outlook or Microsoft Hotmail.

    I think I’ve recently discovered the best solution, since my addMIMETextToHTMLEmail script doesn’t always work properly and is probably unnecessarily complex:

    • Download and install demoroniser. You may need to tweak it slightly, since it expects perl to be in /bin/perl.
    • Install html2text (Debian package, separate source available from Martin Bayer).
    • Add to ~/.mailcap:
       text/html; /home/adam/bin/demoroniser.pl -q -w0 '%s' | /usr/bin/html2text -width 90 -style pretty; copiousoutput; description=HTML Text 

      You may prefer a wider output; the person who suggested this to me uses 158.

    • Edit ~/.muttrc and add:
       set implicit_autoview=yes 
    • You should now be able to view HTML-only emails in mutt without having any extra steps.

WebLoyalty.com aka WLI*ReservationRewards Is A Scam

Update August 9, 2009: Absurdly high number of comments and hits on this page. The latest is reported in this CNET article.

Update March 8, 2009: 2,653 comments. Plus, there has been a settlement of the class action lawsuit: Webloyalty Settlement.

Update September 13, 2006: Webloyalty… sued.

Update May 7, 2006: I get a lot of email asking me “how do I get them to stop charging me?” My entry below, and about 1,000 of the comments, tell you how, but here’s the short version: call 800-732-7031 and tell them you want all your money back. Do not give up until they refund all of it.

Update July 25, 2006: Nearly 1,300 comments and counting…


I recently noticed a charge on my credit card bill for “WLI*RESERVATIONREWARDS 800-7327031” CT for $9. I had no idea what the charge was, so I called 1-800-732-7031 and finally figured it out. Below is a slightly edited letter I’ve sent to the Massachusetts Attorney General Consumer Protection office. If nothing else, I hope this weblog entry shows up on a search for this company, the phone number, or Vincent D’Agostino (the President of the company) and Mary O’Reilly (the customer service director). (My apologies to any Vincent D’Agostinos or Mary O’Reillys out there who aren’t related to this scam).

On November 2, 2004, I purchased airline tickets from the website onetravel.com.

On my most recent credit card bill, I noticed a charge for $9 for a transaction on 12/2 posted on 12/5 for WLI*RESERVATIONREWARDS 800-7327031 CT. I had no idea what the charge was, and was certain I hadn’t signed up for any “reservation rewards” program, so I did a web search for the phone number for the item. Apparently, many other people have had the same exact charge for the same item without ever having ordered it.

I called the company to dispute the charge, and they insisted that I had signed up for some kind of rewards service when I purchased airline tickets. I insisted that I had never signed up for any such service, but they claimed they had sent me three emails confirming the service, which apparently is a monthly subscription for $9 per month which gives you discounts on some products or services online.

When I complained that I was sure I had never signed up for any such service, they said that they had “millions of satisfied customers” and that the complaints were just a few.

Since I maintain my own mail server, I was able to search back over the last 60 days of mail logs, and there was no record of any email originating from this company. Even if such an email had been caught by a spam filter, it would still show up in the mail log. I am thus certain that they never sent any confirmation emails.

Finally, I threatened to contact my state attorney general, and at that point they agreed to refund the $9 and cancel my subscription.

I checked the Connecticut Better Business Bureau website for this company, which goes under a dozen aliases, and saw that there have been many complaints along similar lines.

I am a computer programmer and intellectual property attorney specializing in Internet law, and thus I am not a naive Internet consumer—while I realize that some people may accidentally sign up for services they didn’t intend to purchase, I am certain that I never did this. I believe this company is operating fraudulently, and their “millions of satisfied customers” are people who do not scrutinize their credit card bills carefully, since a $9 charge is easy to miss.

I would like the Consumer Protection division of the Attorney General’s Office to look into this problem as I am sure it affects many Massachusetts Citizens.

Please don’t hesitate to contact me for more information. The Connecticut Better Business Bureau also lists the following address for the company in question:

Webloyalty.com, Inc.
101 Merritt Seven, 7th Floor (Corporate Offices)
Norwalk, CT 06851

This doesn’t speak very well of onetravel.com, although I hear expedia.com and other providers have similar dealings with webloyalty.com.

I’d like to think the web could ultimately prevent more fraud than it enables, but at this point I think the prognosis is bleak. Leave a comment below if you’ve had a similar experience with this company.

Update: This site includes dozens—maybe hundreds—of reports of the same problem with this company.

SciFinder Scholar v. Google Scholar

The American Chemical Society· has filed a trademark infringement lawsuit· against Google for its new Google Scholar· service. ACS uses SCIFINDER SCHOLAR for its desktop scientific research tool; Google uses GOOGLE SCHOLAR for its web-based research journal search engine.

I haven’t reviewed the papers, which at this point I expect consist just of a complaint, but at first blush this appears to be a weak suit.

ACS’ mark SCIFINDER SCHOLAR was only registered on May 6, 2003. Registration gives the mark a presumption of validity. After five years of registration, a trademark holder can file for “incontestable” status which makes it more difficult for a defendant to challenge the mark’s status, but a newly registered mark does not have that benefit.

Trademark strength is evaluated on a spectrum ranging from arbitrary and fanciful (think Volkswagen’s “farfegnugen”) to suggestive (7-ELEVEN for a store open from 7 to 11) to descriptive (PHOTO CENTER) to generic (DINER). SCIFINDER SCHOLAR is, at best, suggestive, and arguably descriptive.

Another problem for ACS is that SCIFINDER SCHOLAR is only registered in its stylized form (see right). If the registration were in block letter form, it would cover all forms of the mark—stylized and plain. Here, there is no argument that Google infringes the stylized design of ACS’ mark; and not even the whole mark, just the “scholar” part. While it is true that in trademark law, similarities between marks are generally weighed more heavily than differences, in this case, SCIFINDER SCHOLAR (stylized) is pretty dissimilar from GOOGLE SCHOLAR as used by Google (below).

There is a long line of trademark cases that hold that the use of a trade name or house mark in connection with another mark reduces the likelihood of confusion. In other words, GOOGLE SCHOLAR is less likely to be confused with SCIFINDER SCHOLAR than if the mark Google were using was just SCHOLAR. Furthermore, the GOOGLE part of the mark is much larger than the SCHOLAR part. Consumers are not likely to be confused about who is providing the service: Google is a household name, and it should be clear that it is providing the service, not ACS.

Finally, the class of prospective consumers for each service is likely dissimilar. SciFinder Scholar is a “desktop research tool for students and faculty·”, while Google Scholar is likely to have a much broader and less specialized audience. This is often a problem with Internet trademark lawsuits: the prospective audience is possibly the whole world, and a trademark that might be well known within a small niche (academic research scientists) might be entirely unknown to the Internet population. I’m sure Google has already collected statistics on its Google Scholar service based on the IP addresses of users doing searches.

This lawsuit seems like a dumb move on the part of ACS. People always get upset about trademark lawsuits brought on shaky grounds, especially when the defendant seems to be involved in the dissemination of useful information rather than just pawning off substandard goods. I’m sure some people will characterize this lawsuit as a claim by ACS that they own the word SCHOLAR, which isn’t quite what they’re arguing, but it can’t possibly be good publicity for ACS. I can’t imagine its academic membership is too happy about this.

As an interesting side note, observe that the ACS website· uses “ACS Google” to do a site search.

(As an example of the effectiveness of Google Scholar, here are some references to a chemistry paper for which I did the initial experimental research, which, ironically enough, was published in the Journal of the American Chemical Society. You would have to pay to read the article online; unfortunately I don’t have an electronic copy myself.)

Update: I found a copy of the complaint in ACS v. Google, which basically confirms my analysis. ACS claims that it, and its users, often refers to its service as “SCHOLAR” and that Google’s research tool operates under the name and trademark “SCHOLAR.” This is apparently how they’re going to try to get around the “house mark” issue—but I haven’t found any instance of SCHOLAR alone on Google’s site—it always appears as GOOGLE SCHOLAR. They’ll likely lose on the facts on this one.

Second update: Thanks to Joseph Lorenzo Hall who got my a copy of my paper, Peroxidase Activity in Heme Proteins Derived from a Designed Combinatorial Library. The experiment in a nutshell was to see if proteins designed de novo based on a combinatorial pattern of amino acids designed to form four-helix bundles would have catalytic properties. The answer is that they did. This is not a very surprising finding today but a few years ago it was significant.