Archive

Monthly Archives: January 2011

Many apologies to my nearly 3 readers. This post runs fairly close to 2,000 words in length, which is a great deal longer than anyone should every have to read anything non-fiction.  Nevertheless, here you go.

Hey Facebook,

Recently (sometime in December) I was hanging out on an invite-only room on IRC when a buddy of mine got online and started talking about the Apple TV2.  He and a fellow hacker who was working for GStreamer made an unexpected discovery.  Hiding behind the published ATV2 (Apple TV 2) video decoding API was a unnamed (and far more powerful) video decoding API. And the two of them had figured out how to use it.

My buddy’s name, at least according to IRC lingo, was Davilla. The room was the official Team XBMC chat room. What happened next is a story worth knowing.

To understand that story, at least from my perspective, you have to understand a few things about Open Source software development and the Team XBMC developer work ethic.

Linux, Ubuntu, XBMC, MythTV, MediaPortal, etc., etc. are all labors of love. They are programs created by a bunch of people, typically men, who see absolutely nothing wrong with coming home from a day at work and spending the next 2 to 6 hours continuing to work.

Except none of these people really sees any of this as work.  XBMC started as a potentially illegal hack of the locked down Microsoft Xbox. Though Microsoft never came down on the XBMC people (and a rumor even exists that Microsoft created a signed version of XBMC that successfully ran on the original Xbox but never got distributed), there was always a certain amound of excitement, fear, and other mixed feelings in the concept of renegade coding software that made the world a better place.

Damn the Man, Save the EmpireIn the minds of the developers of XBMC, when they came home and booted up their computers to the XBMC source code, they were finally getting a chance to make a difference in the world, to connect with people who thought exactly like them, to do something absolutely, thrillingly brilliant that millions of people all over the world, speaking hundreds of different languages could all enjoy.

Google famously gives their coders 20% of their work day to code whatever they want. This is called their 20% time.  For the developers of XBMC, every moment is part of our 20% time.  Each developer is doing only what he wants, and working for as long as he wants.

Needless to say, when we aren’t dealing with real life, or enjoying family time, or working for our countless bosses across the US, Europe, Asia, the Asian sub-continent, Australia, New Zealand, and even Africa, we are talking about XBMC. At this point, it is a part of who we are and how we think.

Over the years, the potentially illegal part of the XBMC equation has died down. The Microsoft Xbox was unable to play the highest definition videos (typically called 1080p videos), and those high definition, 1080p videos were becoming ever more popular.  The Team had to branch into newer, better hardware to keep up with the times. The fact that we all personally preferred watching high definition video helped in this decision. The Team started coding XBMC for Home Theater Personal Computers (htpc’s) that ran Microsoft Windows, Linux, or Apple OS. Three different groups broke off entirely from the Team and made new products with the source code called MediaPortal, Plex, and Boxee.

Even as we abandoned it, the Xbox remained a never forgotten holy grail, because it spoke of the promise of an ultra powerful media player that worked better than any DVD player and looked better than any presentation of any movie house, all while costing less than $100.

Say what you will about Home Theater PCs, none of them cost less than $100. The company NVIDIA started producing a chipset that could play 1080p video in cheaper computers and everyone was overjoyed because these “cheaper” computers cost a mere $200 to $350! (Note the sarcasm. It’s highly intentional.)

So picture a room (a virtual room, where 30 or 40 different people from almost every continent are all looking at the same screen and having the same conversation in real time).  A guy named Scott Davilla, the lead programmer of the Apple Mac version of XBMC pops up and says (to paraphrase), “Guys, I’ve just figured out how to make a machine both run XBMC and decode 1080p videos. It’s the Apple TV2, and it only costs $99.”

I’d love to say we all went berserk with joy…

Hazzah!

Hooray!

but nerds that love programming don’t really do that. Instead, mostly we just made a lot of jokes and probably changed the subject to Battlestar Galactica or something. Mid-December was a strange time for Davilla to drop this bombshell.  We were about to FINALLY release XBMC 10.0 approximately 8 months after we’d planned.  We were eyeballing the Computer Electronics Expo. Lots of exciting work was happening in the DVR code, skinning code, and our awesome new addon framework.

Still, in the back of our collective minds, we knew that $99 would probably mean more, in the short term, to more people than almost anything we were doing.  So we all left Davilla and Amet (another XBMC coder) alone to work on that project.

Everyone else proceeded like nothing had happened. The 10.0 release of XBMC came and went. Downloads of the program shot through the roof, as they are known to do during a major release.

TheUni (another developer and our Public Relations coordinator, whose actually name is Cory [no relation to Haim or Feldman]) spent a little time chatting with Sigma Designs, a hardware manufacturer who was interested in putting XBMC on their next machine, and Zotac, who already bundles XBMC with some of their HTPC machines.

And then, from January 5th until January 20th, the team officially went silent. On the forums, we’d still answer questions, give advice, make hilarious comments, etc., but absolutely nobody in the world, with the exception of Davilla’s friend at GStreamer and TheUni’s girlfriend, knew what was about to happen.

Davilla and Amet worked around the clock as we all completely ignored them and/or made devilishly hilarious jokes at their expense. An early, and not very surprising, discovery was the realization that anything that worked on the ATV2 would work equally well on the iPhone 4 and the iPad.  All three systems had the same chips on the inside and ran the same software (called iOS). This meant that all three devices would equally be able to run XBMC, when it came time to release.

This also meant that we had to up our workload once again by contacting the fine people at Cydia. When you jailbreak your iPad and/or iPhone, you are doing so for the express purpose of running apps that Apple doesn’t like. Cydia is the “app store” for those who think Apple’s app store is too limiting.  The Team had little doubt that Apple wouldn’t like an XBMC app, so we decided to first put it on the Cydia app store.  This process, it turned out, was a fairly painless one.

As release day approached, three events occurred.

First, we sent a working ATV2 to Engadget for their reviewers to mess about with. Early on, even before CES, we planned on giving Engadget an exclusive review. The team spent a little bit of time worrying about this decision. Engadget had been swamped by CES. Gadget news in January is always at a fever pitch. Would they be able to make time for us by the time we were ready for launch?

Second, Davilla spoke with TUAW.com (aka The Unofficial Apple Weblog), who was to be the official announcer of the release. (Some of us also pushed to get Gawker into the mix, particularly the Gawker publication Lifehacker, whose editors absolutely love XBMC, but we’d run out of official things to give exclusives on. Fortunately, Gawker was pretty speedy in coming up with a how-to article, so good for them.)

Third, Davilla and Amet started to change their avatars in the forums to increasingly obvious ATV2 references. I personally made the beautiful “ATV2 is a glimmer in this cat’s sunglasses” picture for Davilla! Other great references included a hockey puck (many people refer to the ATV2 as a “puck”) and the always tricky “just-posting-a-picture-of-an-iPad-have-you-figured-out-our-intentions-yet” avatar?

Finally, at 8PM Eastern Time on January 20th, Team XBMC, TUAW, and Endgadget all three simultaneously managed to completely confuse each other.  TUAW, who was supposed to publish first, published slightly late by about 10 minutes due to some miscommunication. Engadget published immediate at 8PM.  And Team XBMC didn’t get our own announcement published until about 8:15.  Nevertheless, once we got our ducks in a row, things began to roll along smoothly, like a twig down on a crystal clear brook.

For nearly 30 minutes.  Then a user pointed out that XBMC wouldn’t install on the iPad. With thousands of people already starting to download XBMC for iPad, this was a major crisis which led to some ultra-magic from Davilla in which XBMC got repackaged in record time with an additional bit of software that had been mistakenly left out for almost 45 minutes, and finally, by about 8:55PM, we really WERE running smoothly.

In the first 24 hours, XBMC for ATV2 was downloaded over 3000 times. XBMC for iPad and iPhone was downloaded over 20,000 times. Errors were identified. A Frequently Asked Questions page was written and published on the XBMC wiki.  And Apple saw their largest single day sales increase of ATV2 boxes in the history of the tiny machine.

Alright, fair’s fair, that last bit MIGHT not have any factual basis.  Still, it’s hard to argue with the fact that nearly every gadget magazine the next day published with some variant of the headline: “The Apple TV 2 is finally useful!”

But perhaps more important than the headlines and the delightful fact that we enjoyed returning to our roots and tweaking the nose of a hardware/software manufacturer (Apple) by making their box more useful than they could/did, was the fact that Team XBMC had finally come full circle.

On May 29th, 2007, Team XBMC opened up a call for developers to begin porting XBMC away from the Xbox and on to more powerful and more expensive machines. On that day, a box with XBMC on it officially began to cost more than $100.  On January 20, 2011, approximately 3 years and six months later, Team XBMC finally crossed the threshold and returned to the sub-$100 price range.

I’ve been a Forum Moderator, a news writer, a wiki author, and an all around massive user for Team XBMC since late Summer 2009.  I’ve been on the XBMC forums since 2008. I’ve been using XBMC since at least 2007. And in all that time, I’ve been amazed, again and again, at the creativity, the genius, and the passion that a group of people from so many different places can bring to a project. Yet I don’t think I’ve ever felt prouder of the team than I did at about 8:15PM Eastern time on January 20th, 2011, when we showed the world that an inexpensive home theater PC that could play 1080p video and do so beautifully not only was possible, but already existed.

Dear Facebook,

I am, and probably always will be, a financial train wreck.  Those “balance your budget” programs have never, ever worked for me. Given free reign over my money, I’ll invariably spend more than I have every month.  Trusting me with an income is like trusting China with world democracy.

I am the money monster!

I am the money monster!

With that said, I’ve managed to pay off approximately $6,000 in debt over the past 13 months.  My secret?  My realization that I am absolutely not to be trusted.  Also, 3 reasonably simple programs, two of which are free, one of which requires you to be a Bank of America user (though I assume most other banks do the same thing). Those programs are: Google Docs, Mint.com, and Auto-Bill Pay.

I realized fairly early in my very first ever grown up job that I’d never save any money or pay off any debts if I just kept the money in my checking account each month until it was time to get a new check.  “The money is in my checking account! I need to spend it!” was the general thought process going on in the old noggin.

So, step #1 in my quest for financial independence: Get the money out of my checking account as fast as humanly possible.  Actually, that is really the all encompassing meta-step.  If I don’t have it, I can’t spend it.

But how I do get it out and how do I know what to get out?

Step #1: Figure out what all my bills are.

To determine my bills, I created a Google Doc spreadsheet. On this sheet, I laid out ever one of my bills.  Unfortunately, I’d been unemployed so long and so lax in payment due to having no actual money that I wasn’t entirely certain what all my bills were. Heck, until August of this year, I still hadn’t fully sorted out all my student loans. I’ve actually still got some Sallie Mae confusion that’s mostly worked itself out.

So to figure out my bills, I returned to my old and mostly unused friend Mint.com.  With Mint.com, you can take any debt you own or credit you have that has a web interface, plug it into the website, and watch Mint gather all the data for you.  I’d already plugged in all my Bank of America accounts. I plugged in the Best Buy account. Plugged in my student loans. A few months later, I plugged in my car loan and Amazon.com card.  When I was done, I had a fairly good idea what every one of my bills was.

The list included:

  • Car Payment
  • Car Insurance
  • Health Insurance
  • Cell Phone bill
  • Best Buy Card
  • Sallie Mae Student Loan
  • Lasik Eye Surgery Loan
  • Direct Loan Student Loan
  • KU Lower Rate Student Loan
  • Bank of America Credit Card

As a pathetic loser who was living at home, I didn’t have a rent bill, or any kind of utility bills, so I was getting off cheap there, but the list still felt impossible.  Then I took all those payments, and divided the grand total by two.

This was the magic number. I HAD to pay this number every two weeks when I got paid.  Then, I examined the remainder, examined my life, and decided I could survive if I quadrupled my Bank of America credit card payment.

Yup, quadrupled.  I’ve been living VERY frugal for the past 13 months.  Doing this wouldn’t give me any money to save, but putting money into a 2% savings account made much less sense than paying off a card that was killing me at 29.99% interest.  I’ve done my best to maintain a small savings cushion (seriously, seriously small), but absolutely everything else has gone to that credit card (and, later, to the Eye Surgery loan).

Step #2: Pay those bills first

As I’ve already said twice, I’m an idiot in the financial realm. If I have money, I’ll spend money.  Luckily, Bank of America checking and I are on the same page.  On the 6th and 21st of every month, Bank of America steals my money.

I’m kidding, of course. What actually happens is Bank of America performs several auto-bill pays automatically.  Every bill I could add to the bill pay list, I did. Every one I couldn’t, I set up an auto-withdrawal account on the bill’s website. The car insurance people didn’t even let me get car insurance unless I signed up for automatic withdrawal.

Et voila.  On the 5th of the month, I have a large checking account. On the 6th, I have a tiny one. Wait two weeks. Act frugal. Rinse. Repeat.  Only a very few bills don’t work this way.  Those, I have to keep an extra special eye on. Fortunately, my oft referred to Google Doc spreadsheet was my friend there. I marked each bill as “auto-bank pay,” “auto-web withdrawal,” or “manual pay” on the spreadsheet.  Then, on the 5th and the 20th, I can refer to the spreadsheet, figure out what needs to be done, and do it.

In fact, in this way, I can even make adjustments. If for some reason I can’t pay some bill on the fifth, I can adjust to pay it on the 20th, and vice versa. If I’m trying to save for some vacation (which happened last september), I can automatically deposit money into my savings account and re-arrange my Google Docs spreadsheet to account for the difference.

Step #3: Keep Records

In reality, this step isn’t very crucial. Still, it is a step. Mint.com actually helped me to decide how much money I should give to the credit card and health loan people each month. On the site, you can create goals. I decided, about 3 months in, that I wanted to have all my cards paid off in another year (aka, around February or March of 2011).

I told this to Mint, and it figured, based on my interest rate and current balance how much money per month I’d have to spend. Needless to say, when I saw the number, I had a small heart attack.  Nevertheless, I tightened my belt just a tiny bit more, shrugged acceptance, and upped my payment accounts.

I’ve had a few bad breaks in there. I also went on a vacation that I probably couldn’t afford. That pay-off date got pushed back to April or May. Still, the payoff date went from February or March to April or May. Were I not doing all this, the payoff date would still be sometime in 2015.

Conclusion

So there you go. My financial life in a nutshell. I’m not one of those people who just automatically understands how to save. I’m not one of those people who is ever going to “grow up.”  Yet I’m choosing not to let my personality turn me into a financial victim.  If I can’t save money for nice things in an easily accessible place, then by God, I’m going to make that place as hard to access as humanly possible.

I don’t really know anyone else that has the problems with money that I do, but if any of you happen to be out there, I promise, this is a pretty nice way to make sure you are accomplishing what you need to accomplish in life.  Sure, you could take this time at the beginning of the year to resolve to be more frugal with your money, but let’s be honest: you aren’t going to follow through on that resolution on willpower alone. So why not do what I did, and take will power out of the equation?