Wednesday, August 03, 2011

perlbrew and 32-bit CPAN modules like Mac::Growl


Today I discovered perlbrew, a utility for managing multiple versions of Perl under a non-root account, in the same spirit as rvm or virtualenv. I was forced into discovering perlbrew, because installing XCode 4 onto a Mac breaks the ability to compile many CPAN modules if you stick with the computer's default Perl.

Even with perlbrew, you might still have trouble compiling CPAN modules on a Mac, if those modules need older 32-bit code. This is because perlbrew doesn't build its perls as fat binaries, it builds them as 64-bit only.

I used perlbrew to install Perl 5.14.1, and then I was trying to install Test::Continuous, which has a long chain of dependencies including Mac::Growl, Mac::Growl itself depending on Mac::Carbon. Mac::Carbon is 32-bit. I was able to work around this, but I had to (temporarily) leave the CPAN shell to do it. The steps are:

  1. Install Cocoa::Growl as a 64-bit alternative to Mac::Growl. You can use the CPAN shell for this.
  2. Install Log::Dispatch::MacGrowl. This module will recognize that you
    have Cocoa::Growl installed, but for some reason it still won't install
    via CPAN shell. But it will install if you download the tarball and build manually.
  3. Now via CPAN install Log::Dispatch::DesktopNotification.
  4. Now via CPAN install Test::Continuous.

Friday, June 24, 2011

SEO changes forever (or so I've read)


But you have not, as SEOs, we never really had to think as much or as broadly about, "What is the experience of this website? Is it creating a brand that people are going to love and share and reward and trust?" Now we kind of have to think about that.

How Google's Panda Update Changed SEO Best Practices Forever

This, in a nutshell, is the problem I've always had with SEO. People have seen SEO as a bullet list of things to do, a checklist of fairly mechanical steps that, if you closely follow the steps, your page rank will go higher. I read the above as an admission that the SEO consultants themselves have (until now) viewed SEO the same way. I've had clients ask me if they should spend the money on a dedicated SEO consultant and my answer was always "ehhhhh..." Following the SEO checklist might move your page rank a couple spots, but if you want your site to rank substantially higher, you need to substantially change your site. If Panda transforms "SEO consultants" to become "user experience consultants" that's probably not a bad thing.

Thursday, June 09, 2011

Why Apple is charging you to store non-iTunes music in iCloud


If you own some music that you bought from iTunes and you choose to "upload" it into iCloud, you're not really uploading anything. Apple already has it. You originally bought it from them. They just have to store the fact that you are allowed to access their copy of the song. Six million people can "store" Poker Face in iCloud, Apple has to keep only the one copy. Us nerds call this single-instance storage.

On the other hand, if you ripped some music from a CD that you own, and you want to upload that into iCloud, Apple has to actually accept the song from you and allocate disk space to store it. That costs them money, and everyone knows that Apple doesn't do anything for free, so you can bet they're going to charge that cost back to you.

Thursday, April 21, 2011

Health insurance is more fun if you treat it like a game


> look
You are in a twisty maze of insurance forms, third-party authorities, and provider networks, all alike.
> file claim
You fill out a claim form for your wrist therapy and drop it in the mail.
> wait
Time passes...
> wait
More time passes...
> wait
Weeks pass. Your claim returns in the mail, rejected, with a brief explanation at the bottom.
> read explanation
The words are English, but somehow meaningless. As far as you're concerned, it could be written in Sanskrit.
> call insurance company
Home, auto, life, or health?
> health
I don't know how to "health".
> call health insurance company
The phone at the other end is ringing.
> wait
Time passes...
A mechanical voice answers. It explains that all operators are currently helping other customers, and would you like to leave a message?
> leave message
What would you like to say in your message?
> leave name and number.
You leave a polite message with your name and phone number.
> wait
Time passes...
You get a call from your health insurance company.
> ask about rejected claim
Which one?
> ask about rejected claim for wrist therapy
The operator explains that since you are a new customer, they need an explanation from the doctor's office assuring that this was not a pre-existing condition. A copy was sent to the doctor's office and as soon as they receive a response they will provide a benefit on your claim. You thank the operator and hang up.
You have a headache.
> wait
Time passes...
> check mail
There is a bill from the doctor's office in your mailbox.
> open bill
They want a prodigious amount of money. There is a notice at the bottom saying that they have not received a response from your insurance company.
You have a headache. You can feel a vein throbbing in your right temple.
> call doctor's office
A mechanical voice answers explaining that it is 12:30 and everyone is at lunch.
> leave name and number
You leave a polite message with your name and phone number.
You have a headache. The tension in your neck is constricting the flow of blood to your brain.
> wait
Time passes...
You get a phone call from the doctor's office.
> which one?
Don't get pedantic with me!
> ask about bill
She says they haven't heard from your insurance company. Therefore the full amount due is your responsibility to pay.
> read explanation from rejected claim
She seems to understand the explanation, but she says that she hasn't received a copy.
> pound head on desk
You slam your head against the desk several times. You feel dizzy, but most of the pressure is gone for now.
> take claim to doctor's office
You get in your car and start driving to the doctor's office. Unfortunately you must have broken a blood vessel when you were beating your head on the desk. Halfway there, your vision goes red and your car careens off the road.
You have died.
You obtained $0 out of a possible $5000 in benefits. Would you like to play again?

Monday, April 11, 2011

ImageMagick, Homebrew, the NEWS.txt error


Seems like everyone has trouble installing ImageMagick, but everyone has a slightly different problem. In my case I was getting the error:

Error: No such file or directory - /usr/local/Cellar/imagemagick/6.6.7-10/share/ImageMagick/NEWS.txt
To fix this, do "brew edit imagemagick" (or "sudo brew edit imagemagick" if that's how you brew) and find these lines:

# We already copy these into the keg root
%w[NEWS.txt LICENSE ChangeLog].each {|f| (share+"ImageMagick/#{f}").unlink }
and comment out that line of Ruby. Re-run "brew install imagemagick" and it should work.