July 2006 Archives

Apple's DRM-LS

It's interesting how weak Apple's DRM for iTunes is, and how blithely the media seem to ignore this fact. I've never really seen any attention given to the fact that anyone can un-protect any iTunes music file, with no technical knowledge, and nearly zero effort.

This article in information week comes closer than anyone to stating this. That I've seen, anyway. The article is mostly about how DRM really usurps control of product from the content producers and transfers to the wanna-be monopolists (like ITMS.) It's an interesting point, and a nice new way of poking fun at the stupidity and greed of the music distribution industry. But here's the excerpt I'm talking about:

Removing iTunes's DRM is pretty straightforward. It's time-consuming, but it's not too difficult. You just have to burn a CD with the tracks, re-rip the CD tracks as MP3s, and re-enter the metadata, like title and artist.

In fact, this is overstating the actual effort by quite a lot. All you have to do is: burn audio CD; select audio CD you just burned; import audio CD. Since you create a playlist with all the song titles, and iTunes conveniently matches burned CDs (by track length signatures, one assumes), you do not have to re-key in the artists and other track info. The upshot of this is that you need only spend the cost of a blank CD-R to remove ITMS DRM.

This is such a giant loophole that I call the DRM that Apple uses DRM-LS, as in "Digital Rights Management - Lip Service." It does nothing at all to stop serious content piracy (which is impossible in any case, because if a human can hear it, a computer can copy it.) It also does nothing to stop a semi-intelligent person from making a DRM-free backup copy of their music. It seems blatantly obvious to me that Apple and the music distribution industry are just winking at each other that they did something to solve the "problem" created by napster et al. (When, in fact, the problem wasn't caused by napster, it was caused the by the lack of a legitimate, low-friction channel for buying music on line.)

I wish all such DRM systems were so open.

Comments re-enabled.

| 3 Comments

I installed some more anti-spam stuff, including a CAPTCHA (sorry),
and I've turned comments back on.

I had quite an unexpected amount of trouble installing the perl GD package on this server. First, I needed to install libgd-devel: the makefile generator didn't notice none of the includes were around. Then I kept getting an undefined symbol:

gdImageGifAnimAddPtr

when trying to load the GD.so during "make test"

The workaround was to disable support for animated GIFs in the configuration. My libgd version is 2.0.28, I guess that must be too old.

Firefox support required. Sorry.

[This post has a number of vague references to avoid embarrassing certain people. Including possibly me.]

At work we are in the middle of buying this really big, important and expensive piece of enterprise software. It's the kind of thing that you need to have when your business grows to a certain size. In this context, "important" means that having it will improve our revenue by probably millions of dollars over a few years. And "expensive" means that it will cost more than $100,000.

This particular kind of software has a relatively large number of vendors who sell it; there were four top-tier vendors bidding on our contract. They are trying to differentiate themselves on their capabilities, each claiming something the others don't have. In some cases, they are all claiming the same feature as uniquely theirs. In reality, they are largely all the same in their capabilities. Some do seem slightly better, but none seem so broken that we couldn't make it work and live with whatever warts it has. So it's all down to price.

I was on the phone with one of the vendors the other day, confirming a face-to-face meeting where they would get more detailed requirements and then be able to make a bid. Eventually, the sales rep casually asked something like, "I see you asked about FireFox support. We don't currently support that, but are looking into it. Is that a deal-breaker?"

I thought for a second, said "ummm..." Then: "Yes. We need FireFox support. I think we should cancel the meeting. Thanks for bringing that to our attention ahead of time."

I think the rep was pretty floored. He even said that he had never had this come up as a blocking issue. He asked if we could use virtualization, or if we had Windows PCs with IE that we could use. I basically said, yes we could do that, but why would I pay $100,000 for a piece of software that I need to use every day, then use some ugly hack to access it? Especially when all the competitors offer the support I want? I explained a bit more that about 80% of the people who needed this software didn't have Windows computers; they have either Macs or Linux. And the remaining 20% really don't like to switch out of FireFox in any case.

What amuses me most about this scenario?

1. Rule #1 of being a sales rep: never ask the question "is X a deal-breaker?" if there is any chance at all of hearing "yes." Don't give the mark a way out. (Not that this would have mattered in the long run. As soon as we found out it was a Windows/IE only application, that would have been the end.)

2. It's not so freaking hard to support FireFox and IE. All you need to do is not use some stupid ActiveX control, and have at least one engineer use FireFox. They both have great DHTML, Javascript and XML-HTTP support. They both support Flash and Java fairly well.

Actually, the second reason is a really important one. If you are not smart enough as an engineering organization to avoid proprietary, lock-in technology to the extent that supporting users beyond that is too costly, then I don't want to use your stuff.

Pre-installed linux hardware.

| 1 Comment

Some companies are trying to sell PCs with pre-installed Linux. Hopefully they fare better than VA Linux did. One that looks interesting is system76.com. They ship with Ubuntu, and have some interesting form factors, including one that is a dead rip-off of the Mac Mini.

My notebook PC (an Apple Powerbook) is getting a bit long in the tooth. It's soooo dog slow, that I would like something snappier. The new Mac Pros are very nice, but so expensive. A nice, light notebook without a Windows tax might be a good alternative.

Note to self: RRDtool

| 4 Comments

We use gnuplot at work to make our custom one-off pretty graphs that monitor traffic:

It's kind of pain to use, I think largely because of it's history as an X11/postscript graphing tool. If you just want a PNG, it's not really the sweet spot. Gnuplot seems better suited to plotting equations than it does to reams of traffic data.

I noticed our Google mini uses rrdtool; it looked a lot like gnuplot, so I'm looking into it further to see if it's easier to do little consoles like ours.

Update: needs freetype2 and libpng:

yum install libpng-devel
yum install freetype-devel

How to upgrade to a recent FireFox on CentOS 4.x

| 1 Comment

I like CentOS more and more. Yesterday, I actually set it up as a workstation on a PC instead of a server. In doing so, I discovered that the FireFox that ships with CentOS is really old, like 1.0.7.

To upgrade to the latest thing, you need to enable the "centosplus" repository. Like this:

         yum --enablerepo=centosplus upgrade firefox

Note to self: Mac utils to investigate

DropCopy from 10base-t.com: a bonjour file-sharing utility

RCDefaultApp: new version is available.

Sharepoints: NFS/SMB/AFS file share management application. It's now donate ware, which I always am happier to pay than shareware.

Mactracker: a nifty looking mac hardware information database.

How to unmount a dead smbfs file system.

Little known fact (to me, at least): if you have a mounted smbfs file system, and the server reboots, then the smbfs will not re-connect with the server. It will be essential a wedged file system, causing all to access it to hang.

"umount -f" does not fix this. Neither does "kill -9" of the mountd process responsible for the FS.

The magic command is:

umount -l /path/to/mount

At work today, we had this problem, and I wasted a long time trying to figure it out. Basically, we have a machine that serves up a big disk over smb/cifs/netbios/whatever you want to call it. There are something like 120 machines that are supposed to mount this as a file system using the smbfs that is now built in to the Linux kernel. We are using mostly FC3, but are switching over to CentOS, to get a little more stability. Pretty soon we'll have over 200 machines, and it's a pain to upgrade them all.

But the problem was that batches of them would get "bad superblock error or too many mounts" when they tried to mount the file system. At first I thought that there was some quota or limit on the samba server side, and we just had too many clients mounting the file system. That wasn't the problem.

Then I noticed that the failure seemed to correlate with slight variations in kernel on the client side. It wasn't perfect, and it turned out to not be the problem either.

The problem was, in fact, that the smbfs kernel module just does not work if the "samba-client" RPM is not installed on the machine. The kernel module is there. It just needs the client libraries to work. It would have been real nice if the error was "oh gosh, samba library not found" instead of "bad superblock." Oh well. The fix was simple:

yum -y install samba-client

on all the affected machines.

My wishlist for the new Mac Pro

Rumors are starting to fly about what will be new, exciting and different about the upcoming Mac Pro. Here's what I'm hoping for:

Reasonable size: sorry, but even though the G5 looks cool, I really don't get why it has to be so much bigger and heavier than 95% of other desktop/tower machines. The thing weighs a ton, has two inches above and below that aren't even vented. Yet it only has two hard drive slots and one 5.25" peripheral bay. So I either use half my desk, or bang my knee into it.

Speed: I'm so tired of my super slow G5. I'm a programmer, not a movie editor, not a music producer. The 64-bit velocity engine does me zero good running MySQL, javac and emacs. I need clock cycles. Lay on the gigahertz, baby! If it's not at least 3.2 GHz, forget it. I'm switching to Ubuntu.

Drive bays: as I said, two drives in the G5 just blows. Give me at least four 3.5" SATA bays, so i can load it up with 2TB of storage.

A real desktop form factor: this relates to the size thing. The G5 is for most purposes, a server. It's too big to sit on a desk. But if it's under the desk, you have a mess of cables. It would be good to have a lower-profile layout. Something that a monitor could reasonable sit on top of, and something that would have a full complement of front ports: audio in/out/optical, USB, firewire. I'm thinking of the old Sun SPARCstation pizza box. It would have to be wider and/or deeper, but the low height and utility as a monitor stand were just right.

Some cool gadgety features: I know Apple likes cool, elegant design. And this wish wouldn't make that easy. But, this supposed to be a pro Mac. Meaning, it's in a studio, lab or office. It's not an iMac that needs to look nice in a living room. Right? So how about: a flash reader; a halfway decent speaker with a physical volume control knob; an integrated microphone and iSight.

I have a feeling I'll get nothing I want on this list. Ok just, the speed. That's all I really care about. Please.

Google browser sync

Why didn't I know about this before? It's exactly what I've been looking for since Bookmarks Synchronizer (which never worked very reliably) suddenly stopped working.

It's very cool: syncs bookmarks, cookies, remembered form fields, even tabs and windows between all my FireFox browser instances (8 of them) on Mac, Windows and Linux. Yes, I have a Windows PC. It's for games.