Prebuilt PC suggestions?

My MythTV box died today, and I think I would like to buy a new workstation for myself, and cascade my old workstation to the MythTV.

Trouble is, I don’t have time to spec out components and build it myself this time. I haven’t bought a prebuilt PC for myself since 6 years ago, and don’t really know what’s good.

My general requirements are: works with Linux, has a flexible BIOS (many of the low-end home PCs have a limited BIOS with few options), is a quiet and energy-efficient as possible, quad-core, 2GB or more RAM, SATA. Nice to have would be fanless nVidia video, but I could also take one with cheap onboard video and move an existing PCIe card to it.

Suggestions?

Mailing List Hosting

I’ve hosted email lists of one sort or another probably all the way back to 1995, when I first bought complete.org as an email-only domain fed off a UUCP connection on a long-distance dialup link.

I’ve only used two mailing list hosting programs in that whole time: Majordomo and Ecartis (used to be known as Listar). Unfortunately, Ecartis has not seen upstream work in several years, and as a result was removed from Debian in May.

That got me to thinking: what am I going to do with the mailing lists I host? I’m not pleased with my current list archives, which are very similar to what you get from Mailman: no search engine, and every thread is broken at the end of each month.

I also want to preserve my archives.

I’m presently looking at whether to continue hosting the lists myself, or turn to something like Google Groups or Nabble. Hosting it myself, the main choice is Mailman, which really has more features than I need in most areas, and fewer than I need for archiving.

For other hosts, I’ve looked at Google Groups, Yahoo Groups, and Nabble. Google Groups looks like the best option, and even has a (somewhat hidden) way to subscribe via pure email without having a Google account. They can import and export subscriber lists, though not archives.

I’m thinking I’ll also make sure all the lists have full archives at Gmane. Then, based on message IDs, I can generate a bunch of RedirectPermanent lines for Apache to links to the archives don’t get broken.

My current thought for list hosting itself is Google Groups. It would be nice to be free of the hassle of administering a mailing list host, which is nothing special these days. Another benefit of Google Groups is that those people that like web forums (who ARE those people anyway?) get a forum-like interface to the list if they so choose.

Nabble has some interesting features, and can optionally import a full history of a list, but it concentrates far more on the forum than the email aspects. It doesn’t even appear to have basic moderation settings.

The Thrilling Conclusion of Goerzen vs. Dell: Sweet, Sweet Victory

When United Airlines recently broke some expensive guitars but refused to pay for their negligence, the owner of the guitars made a Youtube video. United corporate HQ noticed, and were so embarrassed that they fixed things.

I’ve had some trouble with Dell breaking the law, and their corporate HQ noticed, were embarrassed, but didn’t bother fixing things.

However, I have discovered something that Dell does care about: FEDERAL PROSECUTORS.

I Hate Junk Mail

Before continuing, I need to answer a FAQ: why I hate junk mail. It’s bad for the environment, takes time to process, and fills up my recycling bins. We only get our recycling picked up once a month (we’re lucky to get that where we live), and I hate filling them up with catalogs for things I’ll never use. Also junk mail has a way of multiplying like rabbits. Get on one list, and pretty soon you’re on dozens.

Normally when I get junk mail, I’ll find the website or call the company that sent it to me and ask to be removed. And then they will stop sending me junk mail.

That approach has worked with every single company that I’ve tried it on. With one exception: Dell. Even though ignoring my requests puts them in violation of their own privacy policy.

The Story So Far

It’s been a little while since I’ve written about this, so here’s the condensed version. Click the links for more details.

Back in early 2007 — yes, more than 2 years ago — I had a lapse of judgement and tried to get a Dell monitor serviced under warranty. After a frustrating evening of trying to explain to them that I have a Dell monitor but not a Dell PC, they finally agreed to fix it. And put me on their “flamingo pink Inspiron catalog” mailing list.

I went to their website trying to get off the list. They have many different list removal forms, and I tried them all. I called them. I even got a comment from Debbie at Dell HQ in Texas, offering to try to help. Despite repeated attempts, she didn’t (or couldn’t).

So, in December of 2007, I decided to let Jacob rip apart my junk mail (with associated cute photos).

By August 2008, I still wasn’t off their list. I tried everything, and Dell customer service replied to my request to be REMOVED from their snail mail list by saying they would ADD me to their email list. Lovely.

So I finally obtained a prohibitory order (see scanned copy on that link) in July 2008, which enforces federal law (39 USC 3008) prohibiting Dell from mailing me any more of those catalogs. From August 25, 2008 on, it was a federal offense for Dell to send me any more catalogs.

Guess how successful that was. By September 2008, they were back at their old tricks, sending me catalogs.

The New Bits

So — I sent in a couple these catalogs to the USPS as evidence of violation. By February, I received this letter, which made me Very Happy:

dell-court-order

(see also larger version)

Yes, that’s right. The United States Postal Service went to court to obtain a court order against Dell, prohibiting them from sending me more catalogs.

And — it was successful! It’s been several months since I’ve received any more catalogs from Dell.

It took two years (it wouldn’t have had to, but I didn’t push things along very fast from my end, giving them lots of time to comply each step of the way), but I am finally free of Dell mailings.

I suspect some federal attorneys in some remote office somewhere owe their jobs to Dell’s noncompliance of postal and privacy regulations.

Now if only I can get Rep. Tiahrt to stop sending me junk mail… He keeps sending me literature, and I don’t even live in his district.

Review: Free Software Project Hosting

I asked for suggestions a few days ago. I got several good ones, and investigated them. You can find my original criteria at the link above. Here’s what I came up with:

Google Code

Its very simple interface appeals to me. It has an issue tracker, a wiki, a download area. But zero integration with git. That’s not necessarily a big problem; I can always keep on hosting git repos at git.complete.org. It is a bit annoying, though, since I wouldn’t get to nicely link commit messages to automatic issue closing.

A big requirement of mine is being able to upload tarballs or ZIP files from the command line in an automated fashion. I haven’t yet checked to see if Google Code exports an API for this. Google Code also has a lifetime limit of 25 project creations, though rumor has it they may lift the limit if you figure out where to ask and ask nicely.

URL: googlecode.com

Gitorious

Gitorious is one of the two Git-based sites that put a strong emphasis on community. Like Github, Gitorious tries to make it easy for developers to fork projects, submit pull requests to maintainers, and work together. This aspect of it does hold some appeal to me, though I have never worked with one of these sites, so I am somewhat unsure of how I would use it.

The downside of Gitorious or Github is that they tie me to Git. While I’m happy with Git and have no plans to change now, I’ve changed VCSs many times over the years when better tools show up; I’ve used, in approximately this order, CVS, Subversion, Arch/tla, baz, darcs, Mercurial, and Git, with a brief use of Perforce at a job that required it. I may use Git for another 3 years, but after 5 years will Git still be the best VCS out there? I don’t know.

Gitorious fails several of my requirements, though. It has no issue tracker and no downloads area.

It can spontaneously create a tar.gz file from the head of any branch, but not a zip file. It is possible to provide a download of a specific revision, but this is not very intuitive for the end user.

Potential workarounds include using Lighthouse for bug tracking (they do support git integration for changelog messages) and my own server to host tarballs and ZIP files — which I could trivially upload via scp.

URL: gitorious.org

Github

At first glance, this is a more-powerful version of Gitorious. It has similar community features, has a wiki, but adds an issue tracker, download area, home page capability, and a bunch of features. It has about a dozen pre-built commit hooks, that do everything from integrate with Lighthouse to pop commit notices into Jabber.

But there are surprising drawbacks, limitations, and even outright bugs all throughout. And it all starts with the user interface.

On the main project page, the user gets both a download button and a download tab. But they don’t do the same thing. Talk about confusing!

The download button will make a ZIP or tarball out of any tag in the repo. The download tab will also do the same, though presented in a different way; but the tab can also offer downloads for files that the maintainer has manually uploaded. Neither one lets you limit the set of tags presented, so if you have an old project with lots of checkpoints, the poor end user has to sift through hundreds of tags to find the desired version. It is possible to make a tarball out of a given branch, so a link to the latest revision could be easy, but still.

Even worse, there’s a long-standing issue where several of the tabs get hidden under other on-screen elements. The wiki tab, project administration tab, and sometimes even the download tab are impacted. It’s been open since February with no apparent fix.

And on top of that, uploading arbitrary tarballs requires — yes — Flash. Despite requests to make it scriptable, they reply that there is no option but Flash and they may make some other option sometime.

The issue tracker is nice and simple. But it doesn’t support attachments. So users can’t attach screenshots, debug logs, or diffs.

I really wanted to like Github. It has so many features for developers. But all these surprising limitations make it a pain both for developers (I keep having to “view source” to find the link to the wiki or the project admin page) and for users (confusing download options, lack of issue attachments). In the end, I think the display bug is a showstopper for me. I could work around some of the others by having a wiki page with links to downloads and revisions and giving that out as the home page perhaps. But that’s a lot of manual maintenance that I would rather avoid.

URL: github.com

Launchpad

Launchpad is the project management service operated by Canonical, the company behind Ubuntu. While Launchpad can optionally integrate well with Ubuntu, that isn’t required, so non-developers like me can work with it fine.

Launchpad does offer issue tracking, but no wiki. It has a forum of sorts though (the “Answers” section). It has some other features, such as blueprints, that would likely only be useful for projects larger than the ones I would plan to use it for.

It does have a downloads area, and they say they have a Python API. I haven’t checked it out, but if it supports scriptable uploads, that would work for me.

Besides the lack of a wiki, Launchpad is also tied to the bzr VCS. bzr was one of the early players in DVCS, written as a better-designed successor to tla/Arch and baz, but has no compelling features over Git or Mercurial for me today. I have no intention of switching to or using it any time soon.

Launchpad does let you “import” branches from another VCS such as Git or svn. I set up an “import” branch for a test project yesterday. 12 hours later, it still hasn’t imported anything; it’s just sitting at “pending review.” I have no idea if it ever will, or why setting up a bzr branch requires no review but a git branch requires review. So I am unable to test the integration between it and the changesets, which is really annoying.

So, some possibilities here, but the bzr-only thing really bugs me. And having to have my git trees reviewed really goes against the “quick and simple” project setup that I would have preferred to see.

URL: launchpad.net

Indefero

Indefero is explicitly a Google Code clone, but aims to be a better Google Code than Google Code. The interface is similar to Google’s — very simple and clean. Unlike Google Code, Indefero does support Git. It supports a wiki, downloads area, and issue tracker. You can download the PHP-based code and run it yourself, or you can get hosting from the Indefero site.

I initially was favorably impressed by Indefero, but as I looked into it more, I am not very impressed right now. Although it does integrate with Git, and you can refer to an issue number in a Git commit, a Git commit can’t close an issue. Git developers use git over ssh to interact with it, but it supports only one ssh key per user — so this makes it very annoying if I wish to push changes from all three of the machines I regularly do development with. Despite the fact that this is a “high priority” issue, it hasn’t been touched by the maintainer in almost a month, even though patches have been offered.

Indefero can generate files based on any revision in git, or based on the latest on any branch, but only in ZIP format (no tar.gz).

Although the program looks very nice and the developer clueful, Indefero has only one main active developer or committer, and he is a consultant that also works on other projects. That makes me nervous about putting too many eggs into the Indefero basket.

URL: indefero.net

Trac

Trac is perhaps the gold standard of lightweight project management apps. It has a wiki, downloads, issue tracking, and VCS integration (SVN only in the base version, quite a few others with 3rd-party plugins). I ran trac myself for awhile.

It also has quite a few failings. Chief among them is that you must run a completely separate Trac instance for each project. So there is no possible way to go to some dashboard and see all bugs assigned to you from all projects, for instance. That is what drove me away from it initially. That and the serious performance problems that most of its VCS backends have.

URL: trac.edgewall.org

Redmine

Redmine is designed to be a better Trac than Trac. It uses the same lightweight philosophy in general, has a wiki, issue tracker, VCS integration, downloads area, etc. But it supports multiple projects in a sane and nice way. It’s what I currently use over on software.complete.org.

Redmine has no API to speak of, though I have managed to cobble together an automatic uploader using curl. It was unpleasant and sometimes breaks on new releases, but it generally gets the job done.

I have two big problems with Redmine. One is performance. It’s slow. And when web spiders hit it, it sometimes has been so slow that it takes down my entire server. Because of the way it structures its URLs, it is not possible to craft a robots.txt that does the right thing — and there is no plan to completely fix it. There is, however, a 3rd-party plugin that may help.

The bigger problem relates to maintaining and upgrading Redmine. This is the first Ruby on Rails app I have ever used, and let me say it has made me want to run away screaming from Ruby on Rails. I’ve had such incredible annoyances installing and upgrading this thing that I can’t even describe what was wrong. All sorts of undocumented requirements for newer software, GEMS that are supposed to work with it but don’t, having to manually patch things so they actually work, conflicts with what’s on the system, and nobody in the Redmine, Rails, or Ruby communities being able to help. I upgrade rarely because it is such a hassle and breaks in such spectacular ways. I don’t think this is even Redmine’s fault; I think it’s a Rails and Ruby issue, but nevertheless, I am stuck with it. My last upgrade was a real mess — bugs in the PostgreSQL driver — the newer one that the newer GEM that the newer Redmine required — were sending invalid SQL to it. Finally patched it myself, and this AFTER the whole pain that is installing gems in Ruby.

I’d take a CGI script written in Bash over Ruby on Rails after this.

That said, Redmine has the most complete set of the features I want of all the programs I’ve mentioned on this page.

URL: redmine.org

Savannah

Savannah is operated by the Free Software Foundation, and runs a fork of the SourceForge software. Its fork does support Git, but lacks a wiki. It has the standard *forge issue tracker, download area, home page support, integrated mailing lists, etc. It also has the standard *forge over-complexity.

There is a command-line SourceForge uploader in Debian that could potentially be hacked to work with Savannah, but I haven’t checked.

URL: savannah.nongnu.org

berlios.de

Appears to be another *forge clone. Similar to Savannah, but with a wiki, ugly page layout, and intrusive ads.

URL: berlios.de

SourceForge

Used to be the gold-standard of project hosting. Now looks more like a back alley in a trashy neighborhood. Ads all over the place, and intrusive and ugly ones at that. The ads make it hard to use the interface and difficult to navigate, especially for newbies. No thanks.

Conclusions

The four options that look most interesting to me are: Indefero, Github, Gitorious, and staying with Redmine. The community features of Github, Gitorious, and Launchpad all sound interesting, but I don’t have the experience to evaluate how well they work in practice — and how well they encourage “drive by commits” for small projects.

Gitorious + Lighthouse and my own download server merits more attention. Indefero still makes me nervous due to the level of development activity and single main developer. Github has a lot of promise, but an interface that is too confusing and buggy for me to throw at end users. That leaves me with Redmine, despite all the Rails aggravations. Adding the bot blocking plugin may just get me what I want right now, and is certainly the path of least resistance.

I am trying to find ways to build communities around these projects. If I had more experience with Github or Gitorious, and thought their community features could make a difference for small projects, I would try them.

Best Free Software project hosting?

I’m getting tired of running software.complete.org myself. Redmine eats up CPU like crazy when web bots hit it, despite me preparing the most restrictive robots.txt I’m comfortable with. So I’m looking at other options.

Some features I want (though not really showstoppers if missing) are the ability to close bug tickets via changelog messages, ability to script the uploading of new tarballs, and quick and easy operation.

SourceForge

Immediate fail. It feels like some seedy alley these days. Ads all over, terribly cluttered, and slow. No thanks.

Google Code

Initially it looks great. A couple of things bother me: one, they have a lifetime limit on 25 different projects. I have more than that in my git repos already.

They don’t directly support git right now, which is fine (I like using my own git server anyhow). But even for the VCS they do support, there isn’t a way to close a ticket without having to go to the website.

Savannah

Looks like an interesting option. Still the lack of support for closing tickets from the changeset. I hope that the service will stay around indefinitely, but not a big deal to me if it doesn’t.

Alioth

Similar to Savannah, I guess. Not sure what the pros or cons would be either way.

Overall

I haven’t been able to verify whether any of these will let me script the uploading of tarballs. In general, I write a lot of little programs and a few big ones, so lightweight tools that let me track open bugs in all my tools are preferred.

Why I Buy $100 Fans (Review: Vornado)

Like anyone else, I try to find the best deal on things. Sometimes the best deal isn’t the thing that’s cheapest up front. I work for a company that makes some of the world’s best lawn mowers, for instance, but they aren’t the cheapest.

Anyhow: after a series of cheap $20-$50 Walmart fans failing in various ways (buttons falling off, motors starting to take a minute to get up to half speed, etc.), I bought my first Vornado fan back in 2007. They’re expensive, but I think worth it in the long run.

Circulators

Vornado would like to call it a circulator instead of a fan. I maintain that it’s a fan that can be used as a circulator. Anyhow: the point of most of the Vornado fans is that they don’t just shove air out in front in a sort of random pattern. Rather, they emit a concentrated column of air that travels a long distance at a high velocity (think like a laser). The usual way to use a Vornado fan is to set it at the floor on one end of your room, and aim it at the edge between the wall and the ceiling at the opposite end of the room. This will create constant air movement throughout the entire room. You’re cool wherever you go. Vornado fans don’t have an oscillation feature because they don’t need it. Vornado calls this vortex action.

Another common use is to put one in the middle of a room and aim it straight up.

I find that they mostly live up to the promise. When you’ve got it correctly aimed, it does create a pleasant breeze throughout the entire room. It’s calm, and reaches everywhere. It does take some skill and occasional ingenuity to get that breeze working right. Sometimes if it’s really hot, you can also set one on the floor and aim it straight ahead along sofas and chairs. The air will just brush everyone, but at a high speed.

Most of their fans range in price from $50 to $100, though a few are outside that range. All of their regular fans come with at least a 5-year full warranty; some have a 10-year one.

I think we’ve got these fans in the house: one 750, two 735s, one 630, one 615, and at least four Zippis. Some of them I got at vornado.com, some on sale there, and some from woot. At full price, that would be over $500 of fans. So I better like them, eh?

The Zippi

The Zippi isn’t a circulator. It’s a personal-sized fan, but with a twist. It has no grill because its blades are made out of cloth, with a weight sewn into the tips. Turn it on, and centripetal force keeps the blades extended and working. It’s safe to touch and gives a mild sting if you put your hands into the blades.

It doesn’t move a lot of air, but it does work as advertised: it’s quiet (especially on low speed) and is a good personal fan. Occasionally after a bike ride to work, I’d prefer a bigger one, but overall it does very well. It uses very little space and folds down nicely if you want to travel with it. (It is AC-powered, not battery-powered).

Quality and Service

Overall, I’ve been happy with the quality of our Vornado fans. Recently we’ve had three problems: our 615’s power knob broke (I blame Jacob for that one), our 750 developed a loud rattle and whine, and the Zippi we keep on the nightstand also developed a rattle. I emailed customer service about it, and this is the part that really impressed me.

A human replied, and quickly. The put a new power knob in the mail immediately. They got the serial numbers from the other two. They replaced the Zippi and repaired the 750. They sent me a free UPS return label for the 750, so I didn’t even pay for shipping TO THEM.

The replacement power knob broke again within a week (it appears to be the only flimsy piece on the fan, and it’s within reach of a toddler…) They put another one in the mail.

The 750 arrived today with the rattle fixed, but a whine there. (It probably had the whine before, but I didn’t notice it due to the rattle, and therefore hadn’t mentioned it before.) I almost didn’t even ask them about it after all the expense they’ve gone to recently, but will go ahead and do so. I won’t be bothered if they said they won’t fix it, since they so zealously fixed everything else… but I suspect they will.

Oh: and included with the repaired 750 was a letter explaining what they found wrong, and what they did about it. It was personally signed by the consumer service manager (and her name was prominently listed). And because of the inconvenience of a malfunctioning fan (!), they included a card good for 20% off any of their fans. For the rest of my life.

It reminds me of the stories we hear about Japanese companies being personally embarrassed that one of their products wasn’t perfect. (GM: you could learn a thing or two here)

Conclusion

I’d say that few (5%?) of our Walmart fans are still operational after 5 years of heavy use. I’m sure that 100% of our Vornado fans will still be, and that’s saying something. The quality isn’t perfect (flimsy power switch on the 615) but is very good, and they do a good job of fixing problems when they arise. (Yes, imagine that: fixing a device when it breaks instead of throwing it out.) So even though they are more expensive than the Walmart fans, they’ll probably be cheaper in the long run.

I also like the circulator concept, though we do still use a box fan occasionally (to put it in the window and bring in cool air from outside).

Overall, we haven’t bought a non-Vornado fan since 2007.

And I never expected I’d post a review of fans of all things on my blog.

Update July 17: I bought my first Vornado fan in 2007, not 1997. Oops.

Another Freenode Annoyance

I regularly keep XChat windows open to both Freenode and OFTC. I prefer OFTC for a variety of reasons, but still participate in several channels on Freenode.

Recently I discovered that somebody else was using my nick. No problem, I think; just use nickserv and claim it back. Only nickserv claims I never registered the nick.

But that can’t be, I thought. I registered it at least 10 YEARS ago. Probably longer, but my logs don’t go back farther than that. I’m on with it almost every day. And I identify to nickserv when I have to — maybe every few months.

And therein lies the problem. Apparently Freenode added a policy at some point of deleting registered nicks that haven’t identified in the last 60 days. Only they never notified people of the new policy (other than perhaps sticking it on an obscure website at some point). And they don’t care if you’re ONLINE, only if you identify to nickserv.

I tried to find staff to ask on Freenode as per the instructions on their website for contacting people for help, but each time I tried, no staff was online.

So I asked in #freenode for help. I was essentially told to leave them alone, and also not to ask the person using the nick for it back. So I’m SOL, and got the distinct impression that they don’t care at all about users with this sort of problem.

OFTC doesn’t ever delete nickserv registrations.

Sigh to Freenode.

The Cynic’s Guide to American Presidents

Sometimes I’m just annoyed at politicians. Yesterday, after receiving a letter from Sen. Brownback and reading coverage of Sarah Palin, I was annoyed at them.

So, in keeping with my theme of being annoyed at politicians, here’s my cynic’s guide to American presidents. Yes, it’s biased, under-represents successes, but that’s the point.

I’ll start with FDR, because I feel like it.

FDR – 1933-1945 (D)

Took office during the worst economic crisis of the 20th century. Tried lots of things to fix it; a few of them actually worked, and the best produced social improvements that lasted decades.

Finally solved the depression by getting us into a war, but died before he could get us back out of it. In a stunning display of racial and ethnic discrimination, rounded up and jailed legal Japanese, German, and Italian immigrants and their children just because they were Japanese, German, or Italian. Presided over the firebombing of Dresden, which killed roughly 25,000 civilians in what would be called a terrorist war crime today. Formed an alliance with Stalin that indirectly led to the Cold War.

When asked if he wanted the German people to starve, he replied, “Why not?”

Had an affair with his wife’s secretary that must have inspired Gov. Sanford. FDR, however, kept it secret from his wife for 4 years and the public for 48 years.

Harry S. Truman – 1945-1953 (D)

Became vice president, but when FDR died 82 days later, didn’t want to be president. Victory in Europe was achieved shortly after he became president, but not due to anything he did. Ended World War II, started the Korean War, the Cold War, and the nuclear arms race. Saved the lives of countless Berliners, ended the lives of even more Japanese, though Stalin knew about the bomb years before Truman did.

Desegregated the US military in an early civil rights victory, but committed some of the worst mass murders in history using that same military.

Famously embarrassed the Chicago Tribune by winning re-election over Dewey.

Had the lowest approval rating for any American president until George W. Bush came along.

Dwight D. Eisenhower – 1953-1961 (R)

Before becoming president, was supreme commander of NATO during World War II, and thus also was implicated in the Dresden bombing. Reclassified German POWs, depriving them of Geneva Convention protections. Played on fear to justify building the interstate highway system, one of the largest long-term contributors to environmental and energy problems. Refused to defend people from McCarthy, despite privately criticizing McCarthy.

Integrated Washington, DC public schools. Took over the Arkansas National Guard to integrate Arkansas schools. Failed to get us involved in wars in Lebanon and Vietnam, despite his best efforts. Picked Nixon as his vice president, a decision nobody will forgive him for.

Famously warned of the military-industrial complex, a prediction that the profit motive of defense companies would lead politicians to support war for jobs. One of his most accurate predictions, ironically about a situation he created.

JFK – 1961-1963 (D)

Defeated Nixon to win the presidency, mainly because JFK looked better on black and white TV. Famously said “ask not what your country can do for you; ask what you can do for your country.” But the country did several things for him, including providing security when he had secret meetings with his mistress. (Gov. Sanford, you have a lot to learn.)

Tried Eisenhower’s plan to overthrow Castro. Almost got us a war with Russia, and Castro captured 1189 people. Also almost succeeded in starting the world’s first atomic war, also over Cuba, which was created partly because his earlier Bay of Pigs invasion. Despite putting 16,300 soldiers in Vietnam, it would take Johnson to finally turn that one into a war.

LBJ – 1963-1969 (D)

Supported the largest expansion of civil rights in the 20th century, and also the largest chemical weapons poisoning of a people in American history. Destroyed 6 million acres of land, intentionally destroying Vietnamese food crops, and poisoned 4 million Vietnamese and countless American soldiers. Vietnam war led to the death of 2 million Vietnamese civilians and tens of thousands of American deaths.

An early supporter of the war on poverty, voting rights, and the war on crime, he nonetheless stirred up some of the biggest riots in the 20th century because of Vietnam.

Managed to win re-election in 1964, though probably only because the Republicans had nominated Barry Goldwater, who made LBJ’s war policies look mild and sane.

Didn’t bother to seek re-election in 1968, knowing he was so unpopular. Though still remained more popular than Truman and Bush, which is saying something (though not a lot).

Richard Nixon – 1969-1974 (R)

Known as “tricky Dick”, managed to live up to the nickname. Announced he was leaving politics after losing to JFK in 1960 and a governor’s race in 1962, then won the presidential election in 1968.

Secretly expanded the Vietnam war to include Cambodia and Laos, while simultaneously calling himself a peacemaker. Greatly expanded Social Security and Medicare, supported the Equal Rights Amendment, Title IX, and the Equal Employment Opportunity Act.

Went on a famous trip to the Soviet Union, where he mocked Brezhnev for not having color TV. Went on a famous trip to China, where he opened up the possibility of numerous ping-pong tournaments between the two countries.

Despite being heavily favored to win re-election in 1972, his paranoid campaign organization, called “creep” (CRP), broke into Democratic headquarters. The resulting coverup had him ordering illegal actions by the FBI, and unleashed G. Gordon Liddy on the country, which we’ll never forgive him for. His arch-nemesis — print journalists everywhere — achieved new respect due to the Watergate scandal, immortalizing an otherwise obscure porn movie by naming a secret FBI informant after it. Perhaps Nixon’s most lasting achievement.

Famously lied when he told people “I am not a crook.”

Gerald Ford – 1974-1977 (R)

Became president, and lost to Carter, because of Richard Nixon. Wikipedia wrote 2 paragraphs about his presidency, which seems about average for him. Supported women’s liberation, opposed swine flu. Both supported and opposed LSD. Best thing to ever happen to Chevy Chase’s career on SNL.

Jimmy Carter – 1977-1981 (D)

A Georgia farmer, he defeated Chevy Chase to win the presidency in 1976. Got us involved with Iran, failed to rescue the American hostages.

Dealt with an energy crisis by talking honestly about it with American people and making solid plans to deal with it. That ended so poorly that it would be 20 years before another president attempted the “honesty and planning” approach. Could have saved us trillions of dollars if he had been less honest about saving energy.

Famously built homes for the people that Reagan made homeless.

Ronald Reagan – 1981 – 1989 (R)

Despite presiding over the largest expansion of the federal debt in history, he is still well-liked by fiscal conservatives. Unlike Carter’s “tell it like it is” approach, told everybody that things were fine and getting better, and got us into $3 trillion of debt as a result.

Famously fired all the nation’s air traffic controllers, leading to ongoing problems with ATC today. Started a war in Grenada, another in Libya, and escalated the Cold War, though gave the whole country Alzheimer’s about all these actions. Famously called Nazi SS soldiers victims, but ordered generals to lay a wreath on their grave after it became too controversial for him to do it himself.

Violated US and international law by selling weapons to Iran to fund the Contras in Nicaragua. Also sold weapons to Iraq to use to fight Iran. Single-handedly saved an American jelly bean company. Diagnosed with Alzheimer’s in 1994, but suspected of having it during his presidency, if his answers to the Iran-Contra investigation are any guideline.

George H. W. Bush – 1989-1993 (R)

Started a war in Panama and another in Iraq, but it wasn’t until 10 years later that his son could announce “Mission Accomplished” in Iraq. Pardoned many of the Iran-Contra conspirators. Launched the careers of Dana Carvey and Bill Clinton.

He refused to take charge when Reagan was shot, throwing the federal government into turmoil during a crisis. Barely took charge even after being elected.

Bill Clinton – 1993-2001 (D)

Taught the world how to deal with allegations of affairs with mistresses. Future SC Gov. Sanford voted to impeach him for it, arguing that he broke a promise to his wife more important than the one to his country. Launched the careers of Ken Star and Monica Lewinsky, in rather different ways.

Brokered historic Arab-Israeli peace at Camp David in 2000. Despite shooting down plenty of Iraqi planes in no-fly zones, never managed to cure Republicans in Congress of their constant criticism that we should just re-invade and finish what H. W. Bush didn’t (it would take Dubya to finally cure the Republicans of THAT wish).

Had more “gates” named after him than any president (Whitewatergate, Travelgate, Troopergate). Tried to both encourage and stifle the Internet (clipper chip). Greatly helped the career of David Letterman.

George W. Bush – 2001-2009 (R)

Took office and promptly went on vacation. Responding to the worst attacks on American soil, started two wars, one of which actually managed to fight the people that were tangentially related to the ones that attacked us. Nominated an Arabian Horse judge to head FEMA, then famously praised him after his mismanagement led to thousands of deaths after Hurricane Katrina.

Finally invaded Iraq after his dad refused to go deeply into that country, and announced “Mission Accomplished” before the real fighting ever began. Never seemed to doubt it, either. Actively repressed science in government and supported archaic religious fundamental positions, ironically doing more harm to Christianity in the eyes of the world than any president in recent memory.

Ran for president as a “uniter, not a divider”, then proceeded to act as a divider. Criticized Clinton for nation-building, then tried to build up Iraq. Defeated the husband of a ketchup magnate for re-election in 2004. Launched the career of Jon Stewart.

Supported massive tax breaks for the wealthy, ran up the federal debt more than anyone since Reagan, supported massive deregulation. Not to be outdone by the worst response to a natural disaster in recent times, his policies also implemented the worst response to an economic calamity since Woodrow Wilson. Finished office with the worst popularity ratings in history and tried to reignite the Cold War after staring into Putin’s soul and finding it just as divine as Brownie’s.

Barack Obama – 2009-? (D)

Defeated Tina Fey and the ghost of Barry Goldwater to win the presidency. He’s trying Carter’s “honesty and long-range planning” approach to not just energy, but health care, education, Iraq, Iran, and North Korea as well. Good luck with that.

I’ll get the hammer and nails.

An Update on the Music Player Quest

I’ve written a few times (parts 1, 2, 3) about my annoyance at music players. I’d come down to two finalists to consider: Rhythmbox and Banshee. I’ve used both for awhile now, and as of today, am also trying Songbird (after finally managing to make it run; see part 3 above).

In addition to my previous observations, then, I’ll add:

Rhythmbox

Two problems exist in the current version. The first is that playlists aren’t sortable, which is annoying for those of us that use them as an organization tool. I put a patch in bug 327042, but the authors say they won’t apply it, and there has been no recent activity from anyone working to do something better. Highly annoying, but I’m running my own patched copy anyhow.

More annoying is that it doesn’t let you modify metadata of tracks on the iPod. Perhaps worse, its GUI lets you remove tracks from iPod playlists, but this change is not saved back to the iPod (bug 586964). Confusingly, adding tracks to playlists does get saved. There has been no action on that bug in the 1.5 weeks since I’ve reported it.

I was able to supply the Rhythmbox developers with the needed information to resolve the issue of moving files to .Trash-1000 instead of deleting them on the iPod (586649). However, they refuse to fix the larger problem of leaving these directories on the filesystem; a great annoyance for people using KDE or no desktop environment at all.

Banshee

On the surface, its iPod support looks even better than Rhythmbox. Yet it silently ignores some (not all) metadata changes. You can modify a rating, a compilation artist, etc. and it will look like it changed. But close Banshee and open it up again and you see it wasn’t. (Bugs 580632, 389550) They’ve done some troubleshooting with me, but there hasn’t been activity there since June 30.

Songbird

Aside from my story today griping that it doesn’t even start by default on Linux, I haven’t written about this one before. Its philosophy is somewhat similar to Thunderbird: ship with a very minimalistic set of features, and support multiple addons.

I found that its iPod support works the best of any of these I’ve mentioned, at least for manually-managed iPods. It has a feature to sync your iPod, but has no documentation whatsoever on what that does. It also doesn’t document what it will do with the FLACs I’ve downloaded from Magnatune when it puts them on the iPod. The only references I’ve seen to transcoding state that it will be present in 1.2.0 (which I have), and that it won’t be present until August. Not very helpful.

With a few addons, it makes a quite nice player, with quite good iPod support. The interface, however, has a few quirks. First off, it’s really sluggish, even on very fast hardware. Secondly, if you flip from playlist to playlist, or even breathe on it the wrong way, it will move you back to the top of the playlist you’re on, leaving you to manually find the track that’s playing again. It has no “jump to currently-playing track” feature like other players do. Its tray icon (which you must get an addon for) has a basic menu of play, pause, next, but no ability to set ratings from there. Also, sometimes setting ratings don’t appear to work from the UI, but might have actually been saved anyhow.

Overall, though, Songbird looks like my best bet for the moment. I’ll keep using it and see what I think.

The other option is gtkpod+audacious. I’d miss the integration of player with browser, and gtkpod’s extremely sluggish interface makes even Songbird look like a Formula 1 car in comparison. But its iPod support works well (though its attempts to sync with the filesystem are undocumented and cause issues more than once).

Songbird: How To Make Great Software Unpopular

As part of my ongoing quest for working media players, I’ve more than once tried Songbird. But it never wanted to work in Linux, always crashing before it even fired up the GUI with errors like this:

(songbird-bin:17595): libgnomevfs-WARNING **: Cannot load module `/usr/lib/gnome-vfs-2.0/modules/libmapping.so' (/usr/lib/gnome-vfs-2.0/modules/libmapping.so: cannot open shared object file: No such file or directory)
././songbird-bin: symbol lookup error: /usr/lib/python2.5/site-packages/gst-0.10/gst/_gst.so: undefined symbol: gst_xml_get_type
Could not initialize GStreamer: Error re-scanning registry , child terminated by signal

Googling reveals dozens of threads about this among Debian, Ubuntu, Fedora… well, ALL Linux users. Some people reported success removing bits of GStreamer from their systems, but that didn’t work for me.

I noticed that the Linux binary distribution of Songbird contains a lib/ directory, which has, among other things, full copies of many GStreamer libraries, libvorbis, libFLAC, libogg, libtheoradec/enc, and more. On a lark, I ran rm lib/libgst*. And that fixed Songbird.

Now, that gets me to the point of why Songbird isn’t popular on Linux, a fact which appears to mystify the Songbird developers from the posts I’ve read.

And the reason is: Songbird doesn’t work on Linux out of the box. More to the point, Songbird tries to distribute itself on Linux as if the user is running on Windows.

You do not install a local gstreamer with each app on Linux; you use the system’s. You don’t try to use a local copy of everything; you use the systems. Even songbird plugins package their own .so of files I already have installed system-wide. The Linux shared library system can handle it, I promise.

And even worse, the fact that they are trying to use local copies of things instead of system ones are making it very difficult for distributions to package up Songbird. Distributions — the ones that care about quality, anyhow — want to do things The Right Way, which means only one copy of GStreamer on the system. Songbird doesn’t want to get along well with this. None of Debian, Ubuntu, or Fedora have Songbird packages in their repositories, though third-party packages of greatly varying quality exist for each. Read their respective bug tracking systems and you’ll see that it has to do with Songbird wanting local versions of system-wide libraries.

So, Songbird folks: If you want to make a cross-platform app, please stop treating Linux as if its library system is as broken as Windows. It wasn’t until you got here.

Aside from that, it looks like the best music player I’ve tried yet, despite its sluggish interface.

Update: The original version of this article incorrectly stated that Songbird was a Mozilla project.