Dear Hulu: You Have a Problem

Dear Hulu:

I’m intervening because I care.  We’ve had some good times together, but if you continue down the road you’re on, you are going to die.

What am I talking about?  I think you know.  I’m talking about your asinine leadership, including such figures as Chase “Diarreah of the Mouth” Carey and Rupert “I Lost $4.3 Billion This Year” Murdoch.

These people are not helping you, Hulu.  These people are hurting you.

Maybe even killing you.

See, people like Carey and Murdoch come from the “old school” approach to media.  They think that consumers should be forced to double- and triple-pay for all media they consume.  It’s not enough that consumers sit through commercials.  They should also pay for a subscription service like cable or satellite (unless they settle for OTA, of course).  On top of that, dedicated fans should pay AGAIN for a copy of these shows on DVD or Blu-Ray.  Murdoch and Carey think that’s still not enough, because they now want to charge you for watching shows online as well.  Last I count, if you really enjoy a show you should pay for it at least four times – and that’s not including if you want the show on a portable device like an iPod or smartphone.

You know what’s so great about you, Hulu?  You haven’t been this way.  You’ve given people the opportunity to enjoy shows over and over and over again by only paying for them ONCE (via advertising).  What a novel concept – allowing people to enjoy shows from almost any internet-connected device, and recouping your cost via advertising.

This concept reminds me of another company you may have heard of.  Its name is Google.  Google’s market cap is currently over $170 billion dollars.  Has Google achieved phenomenal success by shifting its burden of cost to consumers via subscriptions?

Absolutely not.  Google provides consumers with free services (search, Gmail, Google Maps, YouTube, Google Docs, Chrome) then subsidizes those free services with ad revenue.  $170 billion dollars later, consumers possess a plethora of free and useful tools, advertisers have the most targeted ad venue ever created, and Google becomes the most powerful online entity in the world.

Compare this to all the multibillion-dollar online companies that recoup costs through subscription models.

…Oh.  Wait.  How many multibillion-dollar online companies do that successfully?

That’s right.  Zero.

Now this is not to say that premium subscription services cannot work, because they can.  (Although many other companies have tried that and failed.)  If you wanted to offer, say, 1080p streaming for a premium price, that would be okay with me and most of your other users.

But the key with premium services is to actually provide premium offerings.  If you attempt to take something that has been free (e.g. everything up to this point) and suddenly start charging for it, you will lose viewers.  Tons of viewers.  Maybe all of ’em.  Imagine if Google started charging you a monthly fee to use your Gmail account.  Imagine if Facebook started charging every time you checked your “wall.”

It’ll never happen, because these companies aren’t moronic.  But Hulu, your board of directors…

…Let’s just say I’m not as sure about them.

I want this to be more than just an angry rant, so let me share some concrete ideas on how you can increase profitability without alienating your entire userbase.

  1. Improve international offerings. Do you have any idea how popular you could be if you became less U.S.-centric?  Even if your shows remained available only in English, you could easily increase viewership by an entire order of magnitude through an improved international presence.
  2. More stand-alone software clients. Your recent desktop Linux client was a great move.  A PS3 client would be even better.  Clients for mobile OSes?  Pure gold.
  3. Start cross-selling DVD versions of shows, and consider partnering with Amazon or iTunes for downloadable sales. If someone is watching back episodes of “The Office” and loving every minute of it, why not sell them a DVD box set right there?
  4. Convince CBS and other leery networks to sign up. I’d love some online Big Bang Theory, so help CBS realize that they make more money off me watching BBT on your site than they do when I DVR the show and watch it commercial-free over and over and over again.

If you try all four of these ideas and none work, then consider some kind of paid premium offering.  Just don’t jump straight to a subscription model, because it makes no sense.

Sorry for being so bold, but I like you, Hulu.  I want you to succeed.

But facts are facts, and let’s face it – your competitors are only getting stronger.  YouTube is already offering ad-supported movie servicesCrackle is getting better, even if it remains U.S.-only.  Netflix’s Instant Watch offers most of what you do PLUS the ability to get my HD fix via Blu-ray.

So to try and switch to a subscription model amidst all this competition is nothing short of suicide.

I want better for you.

I recently joined many others in canceling my cable service because I have better places to send $75 a month.  First thing I did was buy a $20 antenna that gets me all the major TV stations (in hi-def).  This, combined with Linux’s MythTV and a digital tuner card, gives me a great HD-DVR.  Netflix and you fill in the rest of the gaps, and with all the leftover money I can buy every show I’ve ever enjoyed on DVD or Blu-ray.

Lots of people have left cable and dish behind because of services like yours, Hulu.  With the economy in the state it’s in, you can bet that many more people will take this leap in the near future.

So the question becomes – when these millions of viewers look to online viewing offerings, are they going to pick the free YouTube, the less-shows-but-free Crackle, or the as-good-as-you-plus-physical-media Netflix?

You fill a niche that no other site currently fills, and you are throwing away years of progress if you move to a subscription-only model.  Let NetFlix fill that niche.  It already does it much better than you could because of its pairing with rental services.

I’m here to help, Hulu.  Don’t make me leave you.

Because if you become “subscription only,” I will.

On Sharing (Licenses, Copyrights, and Fair Use)

You may not realize this from scanning my site, but I was this close (envision thumb and pointer finger nearly touching) to pursuing a career in intellectual property law.   I even went so far as to take the LSAT, enroll in a pre-law seminar, and participate in a semester-long legal internship.

I’ll spare you the gory details, but I obviously decided against that career path.  Today I am employed as a scientist by day and writer by night (with the occasional dabble in music composition and/or programming).

I’m glad I made the choice I did.

Many things deterred me from pursuing IP law, not least of which is the fact that current IP laws are a bane upon consumers.  From DRM to software patents to P2P throttling, the digital world is consistently held back by ignorant, consumer-unfriendly corporation-sponsored lawmaking.  Nowhere is this more apparent than with the joke called DRM – one of the silliest inventions of the modern era.

As a strong supporter of the EFF and a believer that the DMCA is severely flawed, it’s a bit of a shame that it took me so long to make copyleft friendly…but better late then never, right?

You’ll notice two main changes to the site as of this week.

1) All music is now available under a Creative Commons Attribution-Share Alike 3.0 United States License. In layman’s terms, this means that anyone can remix, tweak, and build upon these songs – even for commercial reasons – as long as they credit me and license their creations under identical terms.

So please – download the complete music collection and share it with everyone you know!

2) All source code available on is now available under a BSD License.  I settled on the BSD license after a fair amount of research, and I strongly feel it is the best fit for the style and type of code I provide.  A BSD License allows unlimited redistribution of code for any purpose, provided all copyright notices and disclaimers of warranty are maintained.  Also, my name may not be used for endorsement of a derived work without specific permission.

Importantly, the BSD license also allows my code to be incorporated into proprietary commercial products – including closed-source products.  This clause is important to me.  While I admire the GPL/LGPL and similar licenses – and feel they play a very important role in the software ecosystem – I also understand that many programmers make a living writing closed-source software.  I want all the code on this site to be freely usable by anyone, including those who write closed-source software for a living.  My code and tutorials are meant to be educational and informative, and I hope they help as many programmers as possible to solve otherwise difficult problems.

As always, if you would like to use any site content (music, source code, or others) under a license other than what is explicitly stated on the content’s page, please contact me.

In the meantime, I would strongly recommend learning more about the EFF and the service(s) they provide.  Also, Creative Commons has an excellent site with boatloads of information on sharing your work without sacrificing ownership or copyrights.

Why Google Worries Me

Who doesn’t love Google?  Between search, Gmail, Google Docs, YouTube, Google News, iGoogle, Google Maps – chances are that you interact with something “google” everyday.

This is true even if you don’t use any of the above services.  If you use the internet at all, you most likely see ads served by Google.  What you may not know is that Google posts only 1.2% of display ads on the internet – even Microsoft does better (4.3%), and Yahoo comes in first at 13%. (source)

Still, 1.2% of the online display ad market is nothing to scoff at, and Google easily takes the cake with search-related advertising in the U.S.  In March 2009, Google commanded 63.7% of U.S. search queries.  Other parts of the world aren’t quite as Google friendly (Yahoo maintains a solid lead in Japan, for example (source)), and that is why I believe it is important to discuss certain Google practices now…

…before it may be too late.  (And no, I’m not just being melodramatic.  Read on!)

Google Worry #1: “Interest-Based Advertising”

Traditionally, Google has served its ads using a contextual model – meaning that if you visit a website about cars, you will see car ads.  If you visit a blog about cooking, you will see food and kitchenware ads.

The advantage of the contextual model – to a consumer – is that no privacy is relinquished.  Google analyzes site content to determine what ads to show, and regardless of whether you are a man, a woman, old or young you will see the same ads.

Unfortunately, Google no longer uses only a contextual model.  As of March 2009, they have moved to what they call “interest-based advertising.”  This type of advertising is better referred to as “behavioral targeting,” because it works by tracking what sites you visit and changing ad content to match you – not the site on which the ads are found.

The official Google blog describes interest-based advertising like this:

“Today we are launching “interest-based” advertising as a beta test on our partner sites and on YouTube. These ads will associate categories of interest — say sports, gardening, cars, pets — with your browser, based on the types of sites you visit and the pages you view. We may then use those interest categories to show you more relevant text and display ads.” (source)

Behavioral targeting works by accessing cookies on your computer every time you visit a site that serves Google ads.  The cookie will remember what type of content you are viewing, and over time it will allow Google to build a comprehensive profile of what you are interested in.  If you start every day with a glance at, Google will remember that and show you sports-related ads regardless of what sites you visit.  If you receive an email in your Gmail account about a death in the family, Google can serve you funeral-related ads across every site you visit.

Worrisome, no?

Google attempts to allay public fears by reminding people that they can opt-out of this service – but unless you specifically go to their Ads Preferences Manager and select to opt-out – from every browser on every OS on every computer that you own – Google is going to assume you want in on this new feature.  (source)

Out of fairness, I need to note that Google is not the first company to use behavioral targeting – but it may be the most worrisome in this regard, given its extremely wide reach and past ambivalence toward privacy (see here, for example).

Google Worry #2: Android

If you haven’t heard of Android yet, it deserves a moment of your attention.  The full Wikipedia entry is available here.

As that article states, “Android is a software platform and operating system for mobile devices, based on the Linux kernel, developed by Google and later the Open Handset Alliance.”  That’s fine, but what is Android really about? Google’s CEO shines some light on this with his quote from the official Android press release:

“Our vision is that the powerful platform we’re unveiling will power thousands of different phone models.”

Google’s goal is to create an operating system that is largely device-independent – meaning it can power many different phones, and most likely computers as well.  In fact, proof-of-concept has already been demonstrated with Android netbooks.  Google wants to create an OS that is capable of running almost any electronic equipment.

So what’s wrong with this?  A number of things – potentially.

  • Android is not completely open source.  Parts of the SDK are closed source, which allows Google to directly control the project.  This is expounded upon in the Android SDK License Agreement, which reads:

    “You agree that Google (or Google’s licensors) own all legal right, title and interest in and to the SDK, including any intellectual property rights which subsist in the SDK. Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not by this License Agreement. Until the SDK is released under an open source license, you may not extract the source code or create a derivative work of the SDK.”

    As this implies, Google doesn’t seem overly interested in using Android to give back to the open source world upon which Android is built.

  • But Android’s potentially parasitic relationship to open source doesn’t stop there.  While Android is based upon Linux, it is NOT a Linux OS.  Android operates via a simple framebuffer driver – meaning no X Server.  Taken a step further, this means that existing Linux apps cannot easily be used on Android, and Android apps cannot easily be used on Linux.  This means that all software developed for Android will not benefit users and developers of current Linux distributions.  This makes sense, as Google understandably wants to control distribution of all Android-based software (so as to make money off it).
  • But it’s not only Linux that Android snubs.  Android also doesn’t use any of the established java standards, despite implementing their own “version” of the java language.  This means that existing java apps (including Java SE/ME) will not work on Android, and Android apps won’t work on other phones.  Again – a move by Google to create vendor lock-in.

Could Android be to current-gen operating systems what Microsoft Windows was to the operating systems of 15 years ago – a clear attempt to destroy open standards, free-market competition, and ultimately consumer choice…?

Google Worry #3: Chrome

Chrome’s obsession with javascript speed is no random coincidence – Chrome is designed with the sole purpose of supporting online Google services (particularly Gmail, Google Maps, and Google Docs).  I suppose this isn’t inherently bad, but one has to wonder – why didn’t Google support an existing open source project like Firefox?  Firefox is well-established, reliable, and it already has an enormous user base.  If Google was truly interested in just “improving the online experience for everyone,” it would have cost them far less time and energy to work with Mozilla to improve the Firefox javascript engine.

But instead, Google went a more worrisome route – they have given the appearance of supporting open source, only to create a product that offers nothing to consumers and everything to Google.  Chrome, to me, seems to be another example of Google shunning existing open source solutions in favor of a custom Google-centric approach, and its sudden, random appearance seems to point to a Google-controlled internet comprised of their web services, Android, and the gateway between the two: the Chrome browser.

There are also some indications that Google may have illegally disassembled Vista’s kernel32.dll file as part of Chrome’s creation – but that discussion is beyond the scope of this document here.  Ars Technica provides a good write-up if you are interested.

Google Worry #4: Google Desktop

Continuing the trend of Google programs that appear to offer a benefit to consumers but may really be all about increasing Google’s reach, Google Desktop is a potential privacy nightmare.

First there is the clear risk of vulnerabilities exposed by a program that ties itself so deeply into your OS.  A detailed write-up of some of these concerns can be found here.

Second, the ability of Google Desktop to share index information across servers is not only largely unnecessary – but enormously dangerous.  To quote the Wikipedia entry on the subject:

If Google Desktop V.3 is set to allow Search Across Computers, files on an indexed computer are copied to Google’s servers. The potential for information stored on their computers to be accessed by others if they enable this feature of Google Desktop v. 3 on their computers should be seriously considered. The EFF advises against using this feature.  Also, those who have confidential data on their work or home computers should not enable this feature. There are privacy laws and company policies that could be violated through the installation of this feature, specifically, SB 1386, HIPAA, FERPA, GLBA and Sarbanes-Oxley.

I’d be curious to know how many other “free” programs offer to violate that many major laws and policies via one feature.  Certainly the supposed benefits of Google Desktop do not outweigh the potential risks.

Google Worry #5: Miscellaneous web services, including Gmail, Google Docs, Google Maps, and others

Rather than going into great detail here, I’ll refer you to the Wikipedia entry for Google criticisms.  Additional criticism pages are available for individual services, including Gmail, Google Earth, Google Maps, Google Groups, and Google Video.

A Google-Driven World…?

You may think that all these worries are just nitpicking on my part, and you could be right – after all, no one of these programs is ubiquitous enough to destroy the world.

But I have to wonder about Google’s long-term plans.

The combination of services to come out of Google over the last 5 years is fascinating.  An OS, a web browser, a web-based office suite, an email service, the purchase of YouTube.  Add all these up and what do you get?

You get a world where Google could potentially watch and/or control every aspect of a person’s computer usage.  Imagine what kind of profile they could compile if they watched your hard drive, your email, your documents, your online search habits, your video habits, where you travel, even what you buy.  Google could effectively know everything about you.

That day isn’t far off.  Android’s move to netbooks will almost certainly happen within the next two years.  Google’s online offerings have recently become even more powerful/intrusive with the addition of gearsYouTube is pushing to become a viable competitor (read: replacement) for Hulu.

I will easily wager that within the next two years, consumers will see a PC that runs completely off Google services – and the popular press will probably anoint this Google PC as the best thing since sliced bread.  But is a Google-driven world really in the best interest of consumers?  I don’t purport to know – but I think it’s certainly worth considering.

In the meantime, what can we, as educated consumers, do?

  1. Remove embedded Google code from your site/blog.  Unless you are paying bills with AdSense, forget about that $10 a year and go with another ad provider.  Drop Google Analytics (since you probably don’t know what 90% of those metrics mean anyway).  Unless you can’t afford to live without embedded Google code, do your site visitors a favor and drop it – this will speed up your site and also reduce any potential privacy concerns.
  2. Leave Blogger.  I appreciate Blogger for the ease of blogging it offers, but there are much better solutions out there.  WordPress, for one.
  3. Try other search engines.  You might be surprised by what you find.  Based on my experience, Yahoo offers much better cached versions of pages than Google.  MSN offers better results for image searches (source).
  4. Avoid Android.  Android doesn’t offer anything special at this point.  Yes, there are some cool features, but by and large there are other much better options.  I am no Apple fan, but the iPhone is a reasonable replacement for the G1.  The Palm Pre is already looking excellent.  Do your homework and use a cell phone with a less questionable relationship between privacy and advertising revenue.
  5. Uninstall Google Desktop and Chrome.  Neither of these pieces of software offer anything you can’t live without.  If you really want a desktop search tool, try one of these.  If you liked Chrome’s speed, download the latest Firefox beta.  You’ll find that its performance is neck-in-neck with Chrome.
  6. Opt out of Google’s new interest-based advertising program, and encourage others to consider the same.
  7. Consider supporting a truly open source project.  Ubuntu,, and GIMP are some of my personal favorites.

no_googleMy worry is that if people continue to blindly use every service and program Google offers, they run the risk of creating another Microsoft-sized monster.

Only this one could be so, so much worse, because it could dominate OSes, apps, and the web.

Is this just paranoia?  Are these worries legitimate?  As always, feel free to let me know.

Where does Microsoft make its money?

THIS INFORMATION IS OUTDATED. Click here to see the updated 2012 report.

Ever wondered which of Microsoft’s product divisions are most profitable?  I have, so today I did some research. Here’s what I found.

What follows are some graphs and explanations of Microsoft’s 2008 revenue.  All information is provided courtesy of Microsoft’s annual 10-K filing (available for download here).

Total Revenue and Operating Income (2008)

Microsoft’s 2008 Total Revenue: $60,420,000,000
Microsoft’s 2008 Operating Income: $22,492,000,000

For those who don’t know, Operating Income = Operating Revenue – Operating Expenses.  In other words, “Operating Income” is the profit made from normal business operations. (A more formal definition is available from Investopedia: “Operating income would not include items such as investments in other firms, taxes or interest expenses. In addition, nonrecurring items such as cash paid for a lawsuit settlement are often not included. Operating income is required to calculate operating margin, which describes a company’s operating efficiency.”)

It is important to note both revenue and operating income, because certain Microsoft divisions make a great deal of money but are not nearly as profitable/lucrative as other divisions.

Revenue and Operating Income by Division (2008)

Microsoft’s products are divided into five divisions: Client, Server and Tools, Online Services, Microsoft Business, and Entertainment and Devices.  The types of products and services provided by each segment are summarized below:

Client – Windows Vista, including Home, Home Premium, Ultimate, Business, Enterprise and Starter Edition; Windows XP Professional and Home; Media Center Edition; Tablet PC Edition; and other standard Windows operating systems.

Server and Tools – Windows Server operating system; Microsoft SQL Server; Microsoft Enterprise Services; product support services; Visual Studio; System Center products; Forefront security products; Biz Talk Server; MSDN; and other products and services.

Online Services Business – Live Search; MSN; MapPoint; MSN Internet Access; MSN Premium Web Services (consisting of MSN Internet Software Subscription, MSN Hotmail Plus, and MSN Software Services); Windows Live; MSN Mobile Services; AvenueA Razorfish media agency services; Atlas online tools for advertisers; and the Drive PM ad network for publishers.

Microsoft Business Division – Microsoft Office; Microsoft Project; Microsoft Visio; Microsoft Office SharePoint Server; Microsoft PerformancePoint; Microsoft Office Live; FAST ESP; Microsoft Exchange Server; Microsoft Exchange Hosted Services; Microsoft Office Live Meeting; Microsoft Office Communication Server; Microsoft Office Communicator; Microsoft Tellme Service, Microsoft Dynamics AX; Microsoft Dynamics CRM; Microsoft Dynamics CRM Online; Microsoft Dynamics GP; Microsoft Dynamics NAV; Microsoft Dynamics SL; Microsoft Dynamics Retail Management System; Microsoft Partner Program; and Microsoft Office Accounting.

Entertainment and Devices Division – Xbox 360 console and games; Xbox Live; Zune; Mediaroom; numerous consumer software and hardware products (such as mice and keyboards); Windows Mobile software and services platform; Windows Embedded device operating system; Windows Automotive; and Surface computing platform.

The 2008 Revenue and Operating Income for each division, in USD, is as follows:

Client (Windows Operating System)
Revenue: $16,865,000,000
Operating Income: $13,052,000,000

Server and Tools (Windows Server, Microsoft SQL Server, Visual Studio)
Revenue: $13,170,000,000
Operating Income: $4,593,000,000

Online Services (Live Search, MSN, Hotmail)
Revenue: $3,214,000,000
Operating income: $-1,233,000,000

Business Division (Office, Project, Visio, Exchange Server, Dynamics)
Revenue: $18,932,000,000
Operating income: $12,358,000,000

Entertainment and Devices (XBox, Zune, Windows Mobile)
Revenue: $8,140,000,000
Operating income: $426,000,000


Interesting, isn’t it? Office generates more money than Windows, but Windows is slightly more profitable.

Linux vs. Windows Hardware Support: The Truth

If you’ve heard of Linux, you’ve probably also heard the following comment (or something like it):

Linux won’t be ready for mainstream use until it “just works.”

Or maybe:

I wanted to like Linux, but after installing it my (insert hardware) and (insert hardware) didn’t work.

Some are even so elegant as to say it like this:


All these arguments boil down to the same flawed perception: that getting hardware to work in a Linux environment is unreasonably difficult.

I would like to provide two examples – one, an analogy; the other, a personal experience – that help explain why Linux hardware support is much better than many people perceive.

The Analogy

Imagine, for a moment, that you have a car that’s several years old.  You like this car – the body’s in decent shape, the color is nice, it runs well – but you’re simply not getting the performance out of it that you’d like.  Rather than buy a whole new car, you make the reasonable decision to simply upgrade the engine.

So you do some shopping around, and eventually you stumble upon a website where someone is giving away brand new engines… for free.  The engine claims to be powerful (the article states that this type of engine is used on 80% of the world’s sports cars), reasonably easy to install and use, and you’re also allowed to modify the engine however you would like.  In return, the website simply asks you to donate some money to their cause if you can, and pass along word of what they’re offering.

It sounds too good to be true, but since they offer to send you an engine for free, you go for it.

While you wait for the engine to arrive, you go about stripping the current engine out of your car.  You take careful notes on the location of every hose, belt, and bolt, and by the time the new engine arrives, the car is ready for it.

With the help of a friend you drop the new engine into place and reattach all the critical parts.  After checking and double-checking to make sure you haven’t missed anything, you start up the car…and to your amazement, it actually starts!  After a couple final adjustments to get everything perfect, you close the hood and take your almost-new car for a ride.


I’ll admit – no analogy is perfect.  But I find this one both relevant and instructive.

As you’ve probably figured out, the car in this analogy represents a PC’s hardware, while the engine represents a PC’s operating system.

Like cars and engines, PC hardware and operating systems are theoretically interchangeable.  It might take a hacksaw and a welding iron, but you could theoretically get any internal combustion engine to run in almost any chassis.  Similarly, it might take some time and hacking, but you could theoretically get any OS to run on almost any PC hardware.

Unfortunately, some individuals mistakenly think that any OS should run on any hardware configuration without user intervention.  This is as foolish as thinking you could stick any engine in any car and – without any effort – have it magically work.  Mixing and matching parts that weren’t designed for each other is not a perfect science.  It will almost always take some tweaking to get everything working.

By and large, manufacturers assume the burden of ensuring that a stock engine works in its associated car.  You don’t typically buy a new car, take it home, then realize that the manufacturer has forgotten to connect three or four hoses.  Similarly, when you buy a PC, you can be reasonably sure that the PC vendor – Dell, HP, whoever – has ensured that the computer’s hardware and OS play together nicely.

To summarize:

When you purchase a PC pre-loaded with an operating system, it should always “just work”

Obviously a new computer with a pre-installed OS should be expected to “just work.”  If it doesn’t, it’s the fault of the PC vendor – not the hardware manufacturers or the OS.

Many zealots (on both sides of the aisle) fail to acknowledge this point.  Pro-Windows zealots wrongly assume that because they bought a PC with Windows on it and it “just worked,” Windows is a superior operating system.  This is a faulty correlation. It’s akin to saying “the stock tires that came with my car are superior because they just worked.”  Remember: stock parts should always “just work.”

Which leads to my next point.

In the example above, you did some homework before sticking a new engine into your car.  You carefully removed the old engine, taking note of where each belt, hose, and bolt went.  You probably made use of all of that information when installing the new engine.

Only a crazy person would take the stock engine out of a car, then drop in a new one and expect the car to “just work.”  Obviously, some hoses are going to need to be re-attached, some belts are going to need to be hooked up, etc.

Why should a computer be any different?

It is not reasonable to drop a new operating system onto a computer and expect it to “just work.”

I don’t care what you’ve heard about Windows or Linux – if you install a new operating system onto a computer for which it was not specifically designed – and by specifically, I mean “specific down to every single piece of hardware” – there is a chance you will need to perform some manual adjustments.  Sometimes you may get lucky and have it “just work.”  But most of the time, regardless of OS choice, you will need to tie up a couple loose ends.  Such is life.

Now I know what some of you are thinking – “yeah, but I installed (insert OS here) on my computer and it just worked.”  If that’s the case, consider yourself one of the lucky ones.  Very, very few people can install an OS onto randomly assembled hardware and have it work on the first try.

It’s unfortunate that so many people misunderstand this basic issue, and they broadly label the quality of a secondary operating system based on whether or not it “just works.” Aftermarket equipment – be it software or material goods – should always be installed by a professional, or by someone capable of “reattaching all the hoses and belts,” so-to-speak. If you choose to install a secondary operating system without a firm grasp of the technology behind it, any problems that arise are not really the operating system’s fault… they’re yours. (Don’t take this personally – the same applies if you try to replace your car’s engine with a new one, despite having no idea how an engine works.)

It is my personal opinion that when all aspects are considered, the overall operating system with best hardware support is Linux.  This is a fundamentally unfair generalization, since there are actually thousands of different Linux distributions, each one with its own strengths and weaknesses – but if we’re going to broadly label whole software ecosystems by the titles “Linux” and/or “Windows,” I think it’s safe to say that Linux comes out on top.

As you may have noticed from the link in the analogy above, Linux runs on almost 80% of the world’s supercomputers.  It also runs on an ever-growing number of servers.  Desktop Linux users number somewhere in the 15+ millions.  Some 90+% of the desktops and servers in Hollywood run on Linux.  Offshoots of Linux power cellphones, traffic signals, election machines, satellites, military equipment, medical equipment, particle accelerators, digital cameras, TVs, DVD players, mp3 players, and many government systems.  If you’re interested in reading a huge list of specific uses for Linux, check out the bottom of this link.

Impressive as this is, it unfortunately doesn’t apply to the everyday user.  After all, I’m not building my own particle accelerator or traffic signal.

So the real question for most users is – how well will Linux work for me?

And the answer is, of necessity, vague.  No one can say for certain how well Linux will work for you.  The only way to know is to try it.

One of the problems with attempting to predict how well an OS will work on a particular set of PC hardware is that there are more possible hardware combinations in a modern computer than there are atoms in the universe.  (That isn’t an exaggeration, btw.)  And that’s just for major hardware – processor, motherboard, RAM, hard drive, video card, sound card, monitor, keyboard, mouse.  When you start factoring in optional hardware (like any of a million possible USB devices), the list of possible computer configurations quickly approaches numbers difficult to quantify.

So in reality, it is impossible to guarantee that a given OS will work on any system other than ones for which it has been specifically designed.

I realize that an esoteric answer like that still doesn’t answer the core question of “will Linux work for me?” For that, let me try something else – sharing a personal experience.

A Random Experiment with Linux and Windows Hardware Support

This Christmas I picked up a refurbished HP Pavilion Media Center PC.  The specs are similar to this, including:

  • 2.8ghz AMD Athlon 64 X2 5600+
  • 2gb RAM (667mhz DDR2)
  • 500gb SATA hard drive, plus another 200gb SATA drive manually installed by me
  • NVidia GeForce 9400GT video card
  • Sound Blaster Audigy2 ZS sound card with recording hub (pulled from my old PC)
  • LightScribe DVD Burner
  • Memory card reader (one of those 9-in-1 or 10-in-1 things)
  • TV Tuner Card (Hauppauge 1600)
  • The usual set of ports (6xUSB, 2xFirewire)

In addition, I’d be tying the PC into an existing monitor (22″ HP LCD), 5.1 surround speakers, Epson Stylus CX8400 printer/scanner/copier, an off-brand graphics tablet, and a webcam.

In all honesty, I consider this to be a pretty nasty adventure for any OS.  That’s an eclectic mix of hardware ranging from almost brand-new parts (the video card came out August 2008) to relatively old parts (my sound card was purchased in 2002).

As for an OS, because the system was refurbished it came without a pre-installed OS.  I made the choice to install Ubuntu 8.10 to the 500gb drive and Windows XP on the 200gb drive.

Here’s how it all went down.

Ubuntu 8.10:

By and large, Ubuntu 8.10 worked shockingly well.  I had to manually configure only the following three pieces of hardware:

  • Hauppauge 1600 TV Tuner card (simple process using these instructions)
  • Epson printer/scanner/copier (my model is CX8400, to make it work you just have to select the CX7800 model – found that by a quick googling).
  • Graphics tablet (using this guide)

Windows XP:

Unfortunately, Windows XP was a different story.  Upon install my ethernet refused to work, which prevented me from using any automated means of updating drivers.

After some serious google-hunting on a separate laptop, I finally tracked down an NVidia installer that got my ethernet working (apparently that ASUS motherboard utilized an NVidia chipset).  With that fixed, I set about finding and installing drivers for the following devices:

  • NVidia GeForce 9400GT (video card worked, but to change any of the settings and enable 3D acceleration I had to download and install specific drivers)
  • TV Tuner Card (non-functional until I tracked down official Hauppauge drivers online; however, I don’t have any recording software, so the card is still technically useless).
  • Sound Blaster Audigy 2 ZS (sound worked, but to get surround sound I had to find the CD that came with the card and install specific drivers)
  • Epson Stylus printer (printing worked, but to access printer-specific settings I had to find the CD that came with the card and install specific drivers)
  • Graphics tablet (non-functional and drivers not available for download; fortunately, I had a Windows driver CD that came with the tablet)
  • Webcam (non-functional until I used my webcam installer CD).

After a lot of restarts (five, I think), I eventually got my XP install up and running.

What’s the Point of This Story

My final point is this: with some determination, you can get both Windows and Linux to run on almost any hardware.  If you have driver CDs for every piece hardware, Windows should be fairly trivial to install.  Linux is much more a function of googling, since very few hardware manufacturers include Linux drivers on their included CDs.

In my specific case, installing Ubuntu 8.10 was a much more pleasant experience than installing Windows XP.  Part of this is because Linux is specifically designed to be installed on random hardware.  Very few computers come pre-installed with Linux, and many hardware manufacturers don’t provide comprehensive Linux support. Linux has evolved to deal with this as elegantly as it can, and in many cases it is surprisingly successful at self-configuring new hardware.

Installing XP was ugly because XP was not designed to be dumped onto untested computers.  Microsoft goes to great lengths to ensure that hardware manufacturers comply with Windows hardware-compatibility requirements, as well as requiring PC vendors to ensure that pre-installed (or OEM) copies of Windows are properly configured.  XP has very few drivers pre-configured, since they rely on hardware manufacturers to provide install CDs with their hardware.  Since my refurbished machine came with no install CDs, tracking down the necessary drivers was a nightmare.

In Conclusion

Maybe this is your first time seeing an example where installing Windows was significantly harder than installing Linux (in the form of Ubuntu 8.10).  If you bought a computer with Windows pre-installed, chances are that it will work better “out of the box” than Linux will.  Don’t be surprised, and don’t fault Linux for that.  Besides – if you’re installing Linux solely for better hardware support, you may not know what you’re doing.

For this particular set of hardware, I found it well worth the effort to get Linux up and running, and I am indebted to the hard-working developers that provided me with an open-source operating system and accompanying software that helped this particular PC be much more enjoyable and productive to use.

Will Linux do the same for you?  Who knows! If you’re feeling adventurous, head to (or any other Linux distro’s homepage) and give it a try.

Just remember the analogy from the start of this article: like replacing the engine in a car, you may have to do a bit of work to get Linux working just the way you like it, and you’ll definitely have a better experience if you go in prepared.

But for what it’s worth – if you’re willing to put in a little extra work, I think you’ll find Linux well worth the effort.

(After this article was released, I went back and edited it for accuracy and clarity. Out of fairness to certain commenters [including myself], I have deleted comments no longer relevant to the updated article. My apologies for making ex post facto changes.)

Desktop Linux + Portable Hard Drive + PS3 = HD-DVR

I love technology.

This weekend I finally took the time to get MythTV running on my HP Media Center PC (under Ubuntu Linux).  For those who don’t know, MythTV can be described as…

…a free Linux application which turns a computer with the necessary hardware into a network streaming digital video recorder, a digital multimedia home entertainment system, or Home Theater Personal Computer. It can be considered as a free and open source alternative to Tivo or Windows Media Center.

(from Wikipedia)

MythTV is quite the application.  Honestly, it’s a bit daunting at first – there are a TON of options/features, much more than are probably necessary.  (But you know Linux – someone somewhere has probably made use of every one of those obscure settings…)

Despite this, the community documentation for getting MythTV up and running with my TV card was exceptional.  My Media Center PC has a Hauppauge HVR-1600 tv tuner card capable of both analog and digital capturing.  There is an entire section of the MythTV wiki dedicated to this card, and the instructions were both easy-to-follow and completely inclusive.  (In fact, the only thing wrong with the wiki is that the included picture of my HVR-1600 isn’t entirely accurate – mine looks more like this.)  In about 20 minutes, I had both the analog and digital inputs on the card working, and live TV ran without so much as a hiccup.  (Including high-def.)  This is a decent feat considering that my PC is only an 2.8ghz dual-core with 1gb of RAM.

As the icing on the cake, my included Windows MCE remote control even worked (via LIRC).

The last step in the project was to find a way to get my high-def recordings from my desktop PC to my living room TV.  I really didn’t want to set up my PC as a media server (particularly because my router occasionally goes on the fritz), so instead I went for the simple option – copy the MPEG2 recordings onto a portable hard drive, plug that drive into my PS3, and watch the high-def video that way.  It works flawlessly.

Try installing XP on a computer (without any hardware driver CDs) and getting it to record high-def video.  I’d love to hear how that goes for you.

New external SATA hard drive not working? Try this.

Sometimes I love Google, and sometimes I hate it.

I recently purchased a Playstation 3 (GTA4 is superb, btw) and it didn’t take me long to realize that upgrading the 80gb hard drive would be worth a bit of time and spare change.  As such, I picked up a new hard drive and swapped it into the PS3.

But what to do with the 80gb that came with the system?  Rather than toss a perfectly functional drive into storage, I picked up this inexpensive little external SATA enclosure and plugged my original PS3 drive into it.

That’s when the trouble started.

First I discovered that my desktop PC didn’t pull enough power through the USB ports to power my new external drive.  (I realized this after several minutes of googling variations on “external drive red light beeping incessantly”.)  Unfortunately, this left me with only my XP laptop to get the new drive up and running.

To my surprise, my little laptop had no trouble powering the drive, and XP even recognized it as a mass storage device.

So what was the problem?

The new drive didn’t appear anywhere.  No drive letter.  No useful information in device manager.  No pop-up asking me to format the drive or open it in a new explorer window or anything of the sort.

So I did what any normal person would do in this situation – I turned to Google.  Various solutions came up, but the two main solutions – to disable any IEEE 1394 (firewire) ports and/or install updated drivers – didn’t help.  My laptop doesn’t have any firewire ports, and the generic mass storage drivers were already what I needed.

More googling revealed variations on these two ideas, but nothing more.

Out of options, I turned to the next best thing – screwing with various control panel settings.  As fate would have it, this eventually solved my problem.

Here’s my solution, for any others experiencing trouble with an external drive.

  1. Open control panel.
  2. Double-click “Administrative Tools”
  3. Double-click “Computer Management”
  4. From the LH menu, select “Storage” -> “Disk Management”
  5. The RH pane should show all hard drives attached to the system.  One of these should be labeled “Disk 0”.  This is most likely your default hard drive.  Double-check the partitions and drive sizes to confirm this.
  6. Assuming that you only have your default hard drive and your external hard drive installed, directly beneath “Disk 0” should be “Disk 1.”  (If you have other drives installed, you may need to go down to “Disk 2” or “Disk 3”.)  Double-check that the functional size of your external drive matches the size listed for this drive.
  7. If this is the proper drive, right-click the button to the left of the partition bar for “Disk 1”.  The ensuing context menu should have an “Initialize” option at the top.  Click it.
  8. Step through the dialogs to confirm partition, name, formatting, etc.  Once you’ve finished, let the computer format your new drive.  This may take awhile.
  9. Once done, enjoy your new drive!

While this may not work for everyone, it certainly worked for me.  Feel free to comment on your success/failure using this method – and good luck!

(And yes – this was one yet one more reminder why I use Ubuntu instead of XP whenever possible.)

Think video games make kids antisocial? Think again.

Just a short note about a fascinating Pew Internet Project paper that came out today.  An online copy of the report – titled “Teens, Video Games, and Civics” – is available here:

Here are two of its most interesting revelations, IMO:

97% of teens (ages 12-17), including 99% of boys and 94% of girls, play video games

This statistic should be a wake-up call to anyone looking to ban and/or strictly legislate video game usage.  Gaming is here to stay.  We can’t uninvent games or pretend they don’t exist.  All children, regardless of gender, race, or location, are probably playing a video game at least once a week.

Gaming is a surprisingly social activity

65% of game-playing teens play with other people who are in the room with them, while 27% play games with people who they connect with through the internet.  Only 11% of teens play video games solely by themselves.  (Personally, I hope this statistic is a wake-up call to game developers.  Co-op modes are a still a huge selling point!)

Frankly, the whole report is worth a read, including the (surprising!) section on civic gaming experiences.