On doing what you love, loving what you do, and not burning out along the way

There’s been a lot of talk over the past few days about Michael Arrington’s blog post concerning the long hours and dedication it takes to work for a startup.

I’ll keep my general criticism of Arrington to a minimum here, but to sum it up as I understand it: he founded a popular tech blog, stirred up controversy by investing in some of the companies he covered, sold said tech blog to Huffington Post, fought with Arianna Huffington something something CrunchPad/JooJoo something something Aol. Now he’s a VC, to more perfectly promote himself, which is what this all seems to be about anyway. (In short, I’m not a fan, and had solidified my opinion long before this week’s events.)

His blog post, berating overworked startup employees for being whiny crybabies (because they need things like sleep and a life apart from their jobs), while also somehow implying that Zynga is creating something of lasting value to the world, quoted extensively from a 1994 online diary (blogs didn’t exist back then) of former Netscape programmer Jamie Zawinski. Zawinski was, to put it mildly, not happy that Arrington used his words in the service of Arrington’s VC agenda. In the wake of Zawinski’s retort, there’s been a swelling of further outrage on Twitter and by bloggers like Amy Hoy and Rachel Andrew, among just a few links I’ve clicked in the past 48 hours.

All of this is increasingly resonating with my own experience. I’ve never worked for a Silicon Valley startup, but I’ve had a couple of startup-like experiences in my 15-year career as a web professional. I’ve never actually been driven to the point of sleeping under my desk and not leaving the office for days at a time, but the opportunity was there for me, if I had wanted to take it. Instead, I walked away, every time.

First, in 2000, just before the first tech bubble burst, I was brought in to be the “HTML guru” on the first e-commerce venture of a certain big box retailer. It was no startup, but it was being run like one. The .com team took over a (very) large conference room, turned off all of the overhead lights, and built a cubicle maze lit by floor lamps and dotted with potted trees. Aeron chairs and (promises of) vast fortunes in stock options for all! After a few months I started to see through the façade. The likelihood of a separate .com stock spinoff (the thing that was really going to make us all rich) evaporated, and our inspirational, visionary VP resigned the Friday before the site launched. It wasn’t long before I was gone, too.

Then, in 2008, I went to work for a (more-or-less) real startup. It was a “fun” work environment where we were entitled to all of the free breakfast cereals, ramen noodles, and caffeinated sodas we could consume. There was an XBOX 360 with Rock Band (which was still cool at the time) in the breakroom. We could hang out, bring dogs to work every day, ride around the office on scooters, all of that. We were encouraged to think of ourselves as “co-presidents” (actual shares in company ownership notwithstanding). We were also expected to log 36 billable hours a week. Maybe that’s no big deal when you’re fresh out of college, have no external commitments, and can be adequately enticed to stay at work until 11 PM with the promise of free ordered-in burritos. But I was 34, with two preschool-aged kids at home. And having to log 36 billable hours when you’re only in the office for 40 (and have to reserve enough energy to chase two kids around when you get home) can prove just as stressful as working 60 hours a week when you’re sleeping under your desk. (Or so it seemed at the time. I don’t care to try to prove it.) I only lasted at that job for 3 months.

As it happened, just as I was beginning that job I was also subconsciously assembling the pieces of what I really wanted to do, which was to go out on my own as a freelance web developer and consultant. I had acquired the necessary technical skills over a (then) 12-year career working for the two aforementioned companies as well as four others. I had built up a large enough network of contacts that I could tap into to drum up business (if you’ll permit such a ghastly mixed metaphor). All I needed was the confidence to take the leap and do it.

My goal was not to get rich (at least, not directly). It was not to revolutionize the industry. It was just to do what I do well, on my own terms. To please and delight my clients with top-quality work. To do what I love, and love what I do. And let it grow from there.

Three years later, I’m still here. I’m not rich. I haven’t started a revolution. But I’m making a stable living, and I’m meeting my target of 25 to 30 billable hours a week. I have a growing list of satisfied clients, and I’ve built something pretty cool along the way. This business is working, and I’m working on my own terms.

I don’t say all of this to gloat. I am proud of what I’ve achieved (and that I’ve done it without an “angel investor”). But there are a lot of people who’ve achieved a lot more in the Internet than I have, and probably more than I ever will. Still, there’s room for me, and there’s room for more, too. You just need to have the confidence to take the risk. But when you do it, do it for yourself.

New adventures in hi-fi… er, iTunes Match

As successful as iTunes has been in transforming both the music industry and the music listening experience, it has, from the beginning, been hamstrung by restrictions imposed by the outmoded, fearful major record labels.

Little by little, Apple has whittled away at those restrictions while managing to create a hugely successful business — iTunes has for several years been the largest music retailer in the world. First there was iTunes Plus: a boost in quality and a victory for users with the elimination of DRM copy restrictions. And now we have the real game changer: iTunes Match.

For $25 per year, you can now store your music “in the cloud.” iCloud, to be specific. That annual subscription allows you to create a centralized, comprehensive library of all of your digital music on Apple’s servers, and accessible from any of your computers and iOS devices. No more worrying about limited disk space or struggling with syncing issues. It just works.

In principle.

In practice? Well, I put iTunes Match to the test today. My music library poses a few unique challenges to this new service:

  • My library consists of over 18,000 songs, and more than 140 GB of data.
  • My main computer is a MacBook Air with a 128 GB hard drive, so I keep a “master” library on an external hard drive and a day-to-day library on the internal hard drive.
  • My main iOS device is a 32 GB iPhone 4, which has been syncing with the “day-to-day” iTunes library on my Mac’s internal hard drive.
  • SLP and I have our own iTunes accounts but have long desired to have a single shared music library.
  • My music library consists mostly of non-iTunes Plus tracks: a mix of DRM-laden 128 kbps iTunes tracks, ripped CDs, and tons of MP3s downloaded from Amazon.com.

With these factors in play, I had some specific goals for iTunes Match, roughly in this order:

  1. Move my “master” library from an external hard drive that sits on my desk, into iCloud where all of our devices can access it.
  2. Free up precious storage space on my MacBook Air and iPhone.
  3. Upgrade old DRMed 128 kbps iTunes tracks to higher-quality, DRM-free, 256 kbps versions.
  4. Consolidate SLP’s purchased iTunes music (around 600 songs) with my main library.
  5. Clean up duplicate tracks.

Spoiler alert: I pretty much knew going into it that the last of those items was going to get worse before it got better. But there were still plenty of surprises (good, bad and ugly) along the way.

The journey of 1,000 miles (or 18,000 songs) begins with a single step

I began my iTunes Match journey about two weeks ago, as soon as iTunes Match became available to the public. (For what it’s worth, I’m registered as an iOS developer, so I had access to the beta, but was never able to get it working properly.) The first goal was to get all of my music loaded into the system, and for the most part that went fine. Which is to say, it went… and went… and went… and w…e…n…t… fine. Loading the 4,000 or so songs I kept on my internal hard drive was fairly inconsequential. The process completed in a couple of hours while I went about my work that day. But then when the time came to fire up the external drive and load the remaining 14,000 or so songs… hmm. How can I put this? I guess the plus side was that I could leave it unattended and sleep, because it took three nights (overnight) to finish.

At that point I left things alone for a while, as I was too busy at the time to devote an entire day to organizing and cleaning up my music library. I did, however, get to play around with the overall iTunes Match experience for a week or so, and I discovered the following:

The good:

  • Having my complete music library at my fingertips on any device is amazing.
  • Streaming works great on the Mac, iPhone and Apple TV. Just pick a song and within a few seconds it starts playing.

The bad:

  • Browsing can be slow, sometimes painfully so, with a large library. This is especially a problem on the iPhone.
  • Cover art is often missing. I haven’t yet determined if it’s just not being downloaded, or if it’s not attached to the albums in iCloud, either.

The ugly:

  • Syncing an iOS device with iTunes on your computer can become a real mess. It’s hard to delete anything: like Michael Myers, no matter how many times you shoot him or stab him or stick a hanger in his eye, he just keeps getting up and coming back to get you. OK, bad analogy. But it almost feels that way.
  • Sometimes you don’t really want to remember just how many songs by Edison Lighthouse, England Dan and John Ford Coley, or Peppermint Trolley Company you own. It would be nice to have more filtering options than: a) just what’s on your device, or b) the whole shebang.

The big day arrives

Today I finally decided that I could afford to put off almost all of my real work for an entire day and devote my attention singularly to the task of getting iTunes Match fully synced, and SLP’s music fully integrated into the main library. To be honest, however, it’s not just today. I began the process at around 8:00 last night, worked until just after midnight, resumed from 7:00 to 8:30 this morning, then worked on it straight from 10:30 AM to 3:30 PM and again from about 7 PM to 10 PM, when I began writing this post. That’s 13 1/2 hours total, or approximately 2.66 seconds per each of the 18,266 tracks in my library. YMMV, as they say, but I’d guess it’s reasonable, if you’re trying to budget some time, to assume that you’ll need about 3 seconds times the number of tracks in your library. (And I’m still not really done.)

I took some notes today as I was going about things. Here are some pertinent observations:

Some things were just plain gone. I’m pretty sure this was the fault of my own carelessness in keeping my various pre-iTunes Match libraries in sync, but it’s worth noting that two conspicuous omissions in my library were The King Is Dead by The Decemberists and The King of Limbs by Radiohead. Coincidence?! I think… well, actually, yes, I do think it was probably just a coincidence. Luckily I was able to track down backups of both of those albums, but now I wonder what else is missing that I’m forgetting about.

“Matched” tracks are hit-and-miss. I’m sure Apple is relying on some very powerful algorithms to analyze each track in your library, in order to determine whether or not it matches a track that already exists on iTunes. It’s clearly not just relying on title-and-artist matching like the longstanding (and semi-useless) “Display Duplicates” option. One of the big selling points of iTunes Match is that if your music is available on iTunes, even if you didn’t buy it there, you’ll get the (usually higher-quality) iTunes version instead of the original version in your library, saving you time and saving Apple server space, as well. (Macworld’s Jason Snell has written an excellent tutorial on how to upgrade your tracks.)

The algorithms aren’t perfect, however, and I was annoyed to discover numerous cases where all but one or two tracks of an album were “matched” and could be replaced with 256 kbps iTunes versions, but the other tracks were rejected, for reasons unknown, and were stuck with the inferior quality versions I had to begin with.

Duplicates are a mess. Apple has done a lot to try to make it easy for you to find and weed out duplicate tracks, but you still have to do it. I appreciate that they don’t just assume which tracks you will or won’t want and automatically delete things capriciously, but I still wish there were a more efficient way to trim the excess.

Cloud symbols and error messages could use some clarification. Neven Mrgan has a great summary of the icons and his interpretations of their meanings, but I encountered too many dialog boxes today with useless statements like “This item is not eligible for iCloud” or “The track could not be downloaded because an unknown error occurred.”

If you’re trying to consolidate tracks from two separate iTunes accounts into a single library, you’re on your own. While the 10-device limit on DRMed iTunes tracks, and iTunes’ ability to be authorized for multiple accounts on a single device, allows for this kind of consolidation, Apple has not gone out of its way to support such activities. In my situation, I was dealing with a large number of SLP’s iTunes purchases that were no longer on any of our devices. I happened to have a spare Mac in my office with an empty iTunes library, so I logged into SLP’s iTunes account on that Mac and used the “Purchased” link in the iTunes Store to re-download all of her music in prep for eventual syncing with the main library.

But it wasn’t that easy. At first, a bunch of the songs wouldn’t download. I realized it was because they were still DRM versions, and that I needed to pay another $25 for an iTunes Match subscription on SLP’s iTunes account to get them. Even then, there were a number of weird issues with tracks being unavailable. Strangely, it seemed that in some cases, if I already had some of those tracks in the master iTunes library, and had already downloaded 256 kbps versions of them, it would not allow me to download them on this second computer. This leads me to believe that there is some hidden mechanism whereby Apple does still keep track of even the DRM-free tracks that have been downloaded, and if they’ve been “transferred” (as it were) to another user’s library, they become unavailable to the original user. This is just a guess, but it seems to fit my experience. (On a related side note, since this second computer was not yet authorized with SLP’s iTunes account, I needed to authorize it — which was triggered by attempting to play a song — before iTunes Match would work properly.)

What if your music is no longer available in the iTunes store? I’m sure this is one of the most commonly asked questions about iTunes Match, and I’m sure Apple has given very reassuring scripted answers, but it still remains as perhaps the biggest risk you take in trusting your music to the cloud. Tracks that iTunes fails to match and has to upload should be no problem, but once you’re relying solely on a “matched” track — or, for that matter, a “purchased” or “protected” track — you’re at the mercy of Apple and the record labels keeping the music available. I initially noted this as merely a point to ponder, but during the process of integrating libraries I encountered the problem firsthand. SLP had an album that was DRMed 128 kbps, but which is no longer available in the iTunes Store, at all. Luckily I had it copied to my master library already, or I wouldn’t have even known it existed. As it was, I was stuck with an album of low audio quality and that iTunes refused to load into iTunes Match. (It was “ineligible.”)

I hit upon a hokey workaround solution, one that is flawed mainly in that it results in further compression/degradation of the sound quality of the tracks, but at least it’s a way to get the music into iTunes Match. I burned a CD of the album, then re-ripped that CD back into iTunes, DRM free. (That’s the old school way of circumventing iTunes DRM, circa 2004.) It worked, but of course I’ll always know that the sound quality is sub-128 kbps. (Not that it matters much to me, as it’s an album I’ll probably never listen to.) This led me to a related discovery…

Burning a CD of DRMed tracks, re-ripping it, and uploading the results to iTunes Match will not get you “matched” DRM-free 256 kbps versions. Granted, my sample size here is pretty small — two tracks — but I suspect this is deliberate (if it’s possible). In addition to the aforementioned unavailable album, I found two other tracks from SLP’s library that stubbornly refused to load into iTunes Match, even though the rest of the tracks from the albums they were on were recognized and “matched” with no problem. So I burned them onto a CD, re-ripped the CD, and loaded the tracks into iTunes Match. No match. Just the further-compressed versions based on the original DRMed 128 kbps tracks.

Corrupted files? Are you kidding me? I had been wondering what might happen if files got corrupted, either during upload or download. Unfortunately, I found out. Just another meaningless error message with no real indication of a solution. I’m a few thousand tracks into the “upgrade” process so far, and to this point I’ve had four songs fail to download due to an “unknown error.” The behavior is the same in most cases: the song appears to download several times in quick succession. As soon as the progress bar gets to the end, it starts over again. After maybe 5 attempts, it stops with an error number (sometimes err = -100000, sometimes err = 11111). I think it may be necessary to contact iTunes customer support to resolve the issue, but I want to wait until I’ve finished downloading all of my music, to see if it happens with any other songs first.

So, is it all worth it?

I still have a nagging fear that some kind of catastrophic data loss is just around the corner, but so far I am inclined to say that iTunes Match definitely is worth it. It was delayed by a few weeks and still seems like it may have been rushed out the door, but I am hopeful that most of the current glitches and usability issues will be resolved over time. It would be nice if it “just worked,” as we Apple fanbois are so frequently inclined to say, but knowing the complexity of the task at hand, it’s a nearly superhuman achievement, even flawed as it is today.

At the moment I still have almost 3000 low-quality tracks that are eligible for an upgrade (using Jason Snell’s smart playlists), not to mention countless duplicates to weed out and a few other stray errors (in my nightmares, clouds have exclamation points) to contend with. But I think the biggest testament to the magnitude of Apple’s accomplishment is that it’s actually gotten me excited about “the cloud,” something I’ve looked upon disdainfully for years.

140 characters

Picking up where the last post left off, this morning SLP and I were discussing the frustrations some people have with Twitter, and their frequent inclination to dismiss it wholesale as a result. One of the biggest complaints always seems to be that you “can’t say anything” in 140 characters. That the brevity of a tweet naturally leads to flippant, ill-considered, 2 short & hvly abbrvtd, or just plain pointless missives fired into the vast, chaotic fray of similar voices, loudly saying nothing.

As I usually do at this point (although maybe she beat me to it this time), I brought up haiku. Most haiku poems could easily fit within the 140-character confines of a tweet, but few people dismiss the haiku form as too brief to convey meaning. In fact, I was inspired to compose a haiku on the topic of Twitter itself, which I subsequently tweeted, of course:

Twitter, like haiku,
Is brief, but you can still say
Something meaningful.

Of course Twitter, like all forms of communication, has limitations. And of course some of what ends up on Twitter is pointless babble. Just because someone gives you the tools doesn’t mean you know how to use them. But to dismiss the entire platform simply because it has constraints or because you don’t like the way certain other people are using it is as silly as dismissing haiku because you can’t write a dissertation in 17 syllables.

But sometimes that’s all you need. Is this 262-word blog post really more effective at communicating the merits of Twitter than my (as SLP called it) twaiku?

On digital literacy and the confidence to fail

A few weeks ago, I tweeted this:
[blackbirdpie id=”111598134282551297″]

Today at lunch SLP and I were discussing digital literacy and I was reminded of this tweet. On reflection, I’d amend it slightly. Being a computer expert isn’t 90% not being afraid of the unknown, as much as it’s 90% not being afraid of screwing up.

Everybody screws up. The only way you can avoid screwing up is by not doing anything in the first place. (Which is, I think, a kind of failure itself.) So, are you going to face that inevitability with confidence, or are you going to deny it by not even trying?

This doesn’t just apply to computers. It applies to everything. Computers (and other technological gadgets) are just perhaps the most obvious place in modern life where the fear of failure clearly manifests.

There’s something related to this fear and avoidance of failure: a lack of mindfulness. Again, not something specific to computers. When we are fearful, we can get absorbed in that fear, and forget to pay attention to what’s happening around us. Ironically, it is precisely that fear, leading to a lack of mindfulness, that can often be what leads to failure. By fearing failure, we make failure more likely.

On the other hand, by facing the potential for failure with confidence, knowing that failure isn’t doom, we can clear distraction from our minds, remove the clouds of confusion, and see what is before us, which is the most important key to accurately assessing a problem and finding a solution.

More specifically, when confronted with an unfamiliar technological interface, it’s easy to get overwhelmed, and to panic, and to either screw up or give up. But technology is nothing to fear. It’s merely a tool. Approach it with confidence, take your time, try things. Don’t be afraid to “break it.” If something could be broken so easily, it’s probably not worth bothering with anyway. It takes a lot to “break” a computer, generally involving a sledgehammer or being dropped from a 5th-story window, not a few errant mouse clicks.

There’s another benefit to mindfulness and confidence: it makes seeking help easier. I’ve worked tech support, and in that job there’s nothing more frustrating than having a user tell you something “doesn’t work,” with no further elucidation. At worst, it leads to the assumption that the user isn’t trying (or is stupid), and even at best it’s unproductive. But when you’re confident enough not to become overwhelmed, and mindful enough to pay attention to the details of what you’re doing, you can provide a much more thorough explanation of the problem to the person who’s trying to help you.

So, don’t be afraid. Your computer can’t hurt you. More importantly, you can’t hurt it. Take your time and, if necessary, a deep breath. Observe. Think. And if you screw up, try something else. It won’t hurt.

Is iCloud deleting your iCal events? Here’s a possible solution

Like many Apple enthusiasts, I spent much of the day yesterday updating software. Mac OS X 10.7.2, iTunes 10.5, iOS 5, and… iCloud. I’ve been relying on MobileMe for a little over a year to keep my mail, notes and calendars (mostly) in sync. I was not an “early adopter” with MobileMe, so I escaped the first-day glitches that promted Steve Jobs to declare the system’s launch “not our finest hour.”

Less than a day into my experience with iCloud, I’d have to say that this launch also is not Apple’s “finest hour.” There have been numerous complaints today about iCloud mail outages (following what I have observed as several days of flaky MobileMe mail performance). But without a doubt the biggest issue for me personally has been related to iCal.

After completing the iCloud transition yesterday, to my dismay I discovered that all of my iCal events were duplicated! My MobileMe account and my iCloud account were both showing up, with all of the same events. Now, in retrospect, the correct thing to do would probably have been to go to Preferences > Accounts and just delete the MobileMe account from my iCal configuration. But is that what I did? Why, no, of course not! I proceeded to delete all of my individual MobileMe calendars. That appeared to do the trick. The iCloud calendars were still there, and every event was just showing up once.

But then this morning I sat down at my computer and discovered — to my horror — that everything was gone. At some point yesterday, when I wasn’t looking, MobileMe and iCloud synced up, and deleted all of my events.

Time Machine to the rescue!

I opened up my Time Machine backup from yesterday afternoon… sometime just before I had made the iCloud transition. I drilled down to [home]/Library/Calendars. (Note that Library is now a hidden folder, but I have my system set to show hidden files and folders*.) I found the multitude of .ics files that represent each individual calendar event, and dragged them into iCal. At first, things seemed great… until I noticed that one by one, the events started disappearing from my calendar again! Apparently iCloud didn’t like having these events show up in the calendar in this way — probably because it recognized them as being events I had “deleted” yesterday — so it “helpfully” removed them again.

AAAAARGH!!! How am I supposed to get these events back into iCal when iCloud just deletes them as soon as they’re added?! Then it hit me… you don’t have to put events into iCloud calendars.

iCal also allows you to created local calendars (“On My Mac”). My solution was to — temporarily — create new “On My Mac” calendars, add the events to those calendars, then export those calendars and import them back into the iCloud calendars. (Then the “On My Mac” calendars can be deleted.) It worked!

Here are step-by-step instructions to do what I did, in case you’ve found yourself in the same conundrum.

1. Find the old calendars in your Time Machine backup. You could open Time Machine to do this, but I like to just explore the disk in the Finder. (The remaining instructions assume you’re taking my approach.) The most important thing is to determine the date and time when your last “good” iCal backup would be. Drill down into that backup to your home directory (that would be something like [drive name]/Users/[username]), and then to Library/Calendars. (Remember that Library may be hidden; if so, see the footnote below.) You’ll see one or more weirdly-named folders. Each of these represents a separate calendar in iCal. Inside each is a directory called Events, and inside that are all of the events on that calendar, each with a filename ending in .ics. If you have more than one calendar folder, you can tell which calendar this is by selecting one of the events in the Finder; its icon will show its date and title. Keep this folder open; you’ll need to come back to it in a later step.

2. Create a new “On My Mac” calendar in iCal. Go to File > New Calendar > On My Mac. Call this calendar whatever you want. If you have multiple calendars, like I do, you’ll need to repeat this process for each of them separately (to keep your events from all getting jumbled together in one calendar).

3. Set the new “On My Mac” calendar as the default calendar. This can be found under iCal > Preferences > General > Default Calendar. When you drag events into iCal, it automatically assigns them all to the default calendar, so this is a pretty important step. Reassigning the events to a new calendar once they’ve already been imported can be a pain.

4. Drag all of the backed-up events into iCal. Go back to the Time Machine backup window you left open in step 1, select all of the .ics files, and drag them into the iCal window. Depending on how many there are, it may take a while for them all to load. Once they’re in, proceed to the next step.

5. Export the “On My Mac” calendar. It can be tricky to make sure you’re getting iCal to export the correct events. Click the Calendars button in the upper left of the iCal window (on the brown “binding” of the cutely skeuomorphic interface), find the “On My Mac” calendar that you’ve added all of the events to, and right-click (Control-click) that calendar to get a contextual menu. Click Export... and follow the prompts. I recommend saving the exported file to your desktop.

6. Set the appropriate iCloud calendar as the default calendar. This is a repeat of step 3, but this time you’re changing it to the iCloud calendar you want the events to be loaded into.

7. Import the exported calendar file into the iCloud calendar. Go to File > Import > Import... and locate the file you created in step 5.

8. Delete the “On My Mac” calendar. Once you’ve completed the import (and have confirmed that the events are not disappearing), you can safely delete the “On My Mac” calendar you created. Click the Calendars button in the brown “binding” again, right-click (Control-click) the “On My Mac” calendar, and select Delete from the contextual menu.

9. There’s no step 9!

* To get your system to show hidden files and folders, open up Terminal and type this: defaults write com.apple.Finder AppleShowAllFiles TRUE then hit Return, type this: killall Finder and hit Return again.