Let’s Be Better

“Those who count on quote ‘Hollywood’ for support need to understand that this industry is watching very carefully who’s going to stand up for them when their job is at stake. Don’t ask me to write a check for you when you think your job is at risk and then don’t pay any attention to me when my job is at stake”

Chris Dodd, Fox News, Jan 20, 2012 (originally found on Techdirt)

So, I’ve struggled with how to react to everything that’s happened over the last week, and really all the things that have led up to it over the past few years. The SOPA/PIPA protest and blackouts, the abrupt shutdown of Megaupload, the rise of Anonymous and their reaction to all of it. I have seen my government and my fellow citizens attack their own for being intelligent, for being hard working, and for trying to better the world. I let it slide when Congress was discussing breaking the Internet – the greatest engine for social, economic, and technological growth since the development of agriculture and the written word – to protect a small but powerful group. I shrugged it off when Congress referred to consulting the experts who built the Internet as “asking the nerds” if it would be problematic to change how DNS works. I joined in the protests of SOPA and PIPA, and did my best to spread awareness about the complete removal of due process, the risk to our free speech, and the cost of turning over the roles of judge, jury, and executioner to a private industry with everything to gain by holding back progress.

I buy my media. It’s probably been almost a decade since I downloaded media I didn’t pay for. I have an HD premium cable package, two Tivos, two Xbox360s, Netflix, Last.fm and for a while a Hulu Plus account. I spend more on media in a given month than some people spend on food. TVs, computers, a house-wide audio system – all of it fueling the creative people in this country and around the world to do what they love and to share in their creations. But all of it enabled, and given value, by technology.

When you create a disruptive technology, there’s always someone who goes from comfortable to on the defensive. That’s why you disrupt. The blatant admission by Hollywood that they had bought politicians and expect to have their laws passed, no matter the public outcry and no matter the damage done to our rights makes them an industry worth disrupting. I believe the “at any cost” approach to protecting creative works is harmful to our economy, our rights, our culture, and our world. We have laws in place that protect this content, and despite claims to the contrary, they work quite well. More people are making more money in movies and music today than at any point in human history.

I don’t think I agree with the actions taken by Anonymous in their reaction to the Megaupload shutdown, but I can understand the anger and frustration behind them. I don’t think using technology to attack groups or individuals gains any real support for your cause. No, I don’t want to make them the victim. I don’t want to in any way encourage empathy or lend legitimacy to the actions of the MPAA. I don’t want to continue the arms race of DRM vs. hackers. I want us, the technologists, to completely take them out by building services and products so unfathomably better that they cannot hope to compete, until they dwindle to nothing.

And I encourage every creative person out there to join us. Your work is valuable. You should be paid for it, no one argues that. Help us dismantle an industry that has systematically devalued your creative labors, stripped you of your own rights (as authors, and owners of your own work), and sold the fruit of your creative efforts for their own profits.

When you can’t win because the game is rigged, you change the rules. Rather than use technology to help groups like the MPAA and their members reach new customers and adapt to a changing market, we must use technology to accelerate their end. Every day, I work to expand the capabilities of technology. Join me. This year – build something amazing, disruptive, and wonderful. When Hollywood dies, and it will, it won’t be because we bought the most politicians, it won’t be because we hired the best lawyers. It’ll be because we served their customers better than they ever could.

I strongly support the sentiment in Y Combinator’s RFS9. At no point in my life have I seen an industry so aggressively bite the hand that feeds. At no point have I seen an industry so deserving of being wiped from our economy by the tides of advancing technology. Since I started you with a quote, I figured I’ll leave you with this:

“Hollywood appears to have peaked. If it were an ordinary industry (film cameras, say, or typewriters), it could look forward to a couple decades of peaceful decline. But this is not an ordinary industry. The people who run it are so mean and so politically connected that they could do a lot of damage to civil liberties and the world economy on the way down. It would therefore be a good thing if competitors hastened their demise.”

Y Combinator RFS9: Kill Hollywood


Amazon Bookmarklet

Found something particularly cool on the blog and feel the need to buy me a beer? Go one better – drag this link up to your bookmarks bar, then click it when you are about to buy something:

Brad Amazon

I’ll get around 3% from Amazon, you don’t spend a cent extra, and everyone wins! Particularly good during the holiday shopping season.

Is Usage-Based Billing Inevitable?

So I was just sitting in the annual sales meeting when our CEO asked “How many of you think usage-based billing* (UBB) is inevitable? How many of you don’t?”

I was the lone hand in the “don’t” category…my CEO included. When pressed for an answer (in front of a few hundred new co-workers, mind you), I managed to muster the courage to answer, “UBB puts service providers at an adversarial relationship with the providers that actually drive acceptance of their product” or something of that nature.

Think about it though – if we’d had usage-based billing in 2001, there’d be no Youtube. No Netflix. No Hulu. Hell, we’d probably not even have an iTunes store. More importantly, would you pay for a 50mbps connection if you couldn’t use it for anything?

Let’s be honest with ourselves. Everyone talks about having everyone pay “their fair share”, how “heavy users” are just free-loading on the poor grandparents who only use the internet once a week to check email. They bring up examples of “I don’t get all the water I want for free. Or all the electricity” True. I don’t get to just go to a library and check out all the books I want. Or watch all the TV I want, or read all the articles in the newspaper I want.

Oh wait.

That’s not what UBB is about at all. It’s about stopping competitive services. It’s about slowing down innovation in the internet space (especially over-the-top video) and extending their outdated business model just a little bit further. It’s about protecting video revenue at the cost of consumer choice.

And c’mon, if you’re designing your network for the retirees who barely understand what a computer is? You’re doing it wrong. And you certainly shouldn’t be asking for legal protection to continue being that bad at your job.

My CEO (on another topic, actually) said it best: “Do you really think you’re going to win by standing still?” UBB is all about standing still. Services providers have seen their business model change, and most of them, rather than change along with it, are trying to find a way to return to the era of $100/mo services. All these companies have seen their core business declining – first with home phone lines, then just as they started making the shift to video, down goes video. Why do I need an $80/mo video package on top of my $40/mo internet, if I can spend $50/mo on their super-high-speed connection (introduced to compete with the Cable company) and get the rest from Netflix and Hulu?

Your local service provider is terrified of becoming just a dumb pipe to the internet. They’ll fight tooth-and-nail against any real competition, because then they have no edge, no way to lock you in. It makes sense from a business perspective, but it is profoundly anti-consumer.

But all this isn’t why I don’t think it’ll happen. To get back to my point – who’s really driving faster internet and broader fiber deployments in this country? You can bet it isn’t the tiny little rural phone companies. It’s Google, Microsoft, Apple, Netflix, Amazon – companies that have made their fortunes in software and computing, and know digital delivery of services is the next great frontier. These companies wield tremendous economic power, and know that their ability to innovate in the space will be significantly reduced. They can even make the argument (rightly so) that it will harm the competitiveness of American innovation, and start to leave us behind against countries like South Korea, Switzerland, and France – places where high speed internet is not only faster and cheaper, but more widely available. Who in their right mind would argue it is “necessary” to slow down innovation, because we’re going too fast and a few legacy companies can’t keep up? I mean, who besides the recording industry?

Sure, there will be some places where UBB might take hold. You can point to cellphones, Canada, etc. Each of these is a bad example. In the case of cellphones, voice and text messaging has become cheaper to the point where many carriers offer truly unlimited minutes and text messages (in some cases, for as little as $59/mo). Data caps? They’re lowest on the network that refused to update its infrastructure, and non-existent on Sprint’s 4G network. And Canada? Well, the government quickly realized it was extremely harmful to their national interest, because it was limiting Canadian’s access to the broader market. They are amid a plan to reverse the laws requiring UBB. What changed? Netflix came to town.

The only place UBB will actually work is where there’s no competition. Sure, you can act as an abusive monopoly, avoiding competition by stacking the laws in your favor. But you’re also inviting some local lawmaker who wants to stand out in an election to come down hard on you. First time someone shows up in town with unlimited internet? You shed customers, en masse. Heck, it’s not long before cellphones become a competitor for UBB-structured telcos. Only one bill, more convenient…sound like the shift away from landlines to anyone else?

In simplest terms though, Usage Based Billing is an admission that a provider can’t actually deliver the service they sold. It’s like selling me a package of 300 channels and then getting upset (and charging me more) if I watch more than 10 shows a week. And that’s just stupid.

*Usage-based billing (UBB) is a general term for the idea that home internet use should be billed (in whole or in part) based on the amount of data you consume, rather than the speed it is delivered. Options include per-gigabyte, per-month usage (like $1/gb), tiered access with overages (like your phone minutes used to be/still are), or a number of other possibilities.

Tags: ,

Am I Wrong to Expect an “Open” Device?

A while back a friend of mine and I went back and forth on the distinction between a computer and an appliance. We could both point to obvious examples – a laptop is undoubtedly a computer, my dishwasher is undoubtedly an appliance (circuit boards and all). After some back and fourth, we hit an impasse: he thinks the iPad is a computer; I think it’s an appliance.

Without going into too much detail, it came down to device control. On my computer, I don’t have to check with some central authority for permission to do something. If I want to stream video from a server I own, that’s my business to try and figure out. If I want to run  peer-to-peer software for transferring copyrighted works or hack open the OS to lay bare it’s most core functions, that’s my business. Heck, I can wipe the whole thing and put on a new operating system. That’s obvious, it’s a computer. By contrast, I don’t expect my toaster to allow me to re-write its pizza algorithm and provide me the tools to do so. It’s an appliance.

I realized I had an expectation that my friend didn’t: I expected that if I own a computer, it is mine to do with as I please. Even if it conflicts with the pre-existing business relationships of the vendor. Or the network operator. Or even some ill-conceived international trade agreement. He didn’t think so. He felt that as long as a company was up front about what you are and aren’t allowed to do with the device, it doesn’t really matter. That’s why he felt the iPad (or iPhone, or iPodTouch) were all computers – they could install software and add new functions. I pointed out my XBOX could, and so could my DVD player. Heck, my router can do that.

For those curious, the crowd-sourced definition did us no good, since it applied to many things neither of us thought was a computer. However, for the sake of completeness, it is:

A computer is a programmable machine that receives input, stores and manipulates data, and provides output in a useful format.

Wikipedia, entry for Computer

What has me up late wondering though – am I a dying breed, or just off in my definition? Am I wrong to think that I own the devices I buy? Will the next generation even realize what they’ve missed growing up in a world of appliances? Sure, there’s software out there that might mess up your phone or break your tablet, but right along side it is wonderful utilities that let you make free VOIP calls over a cellular data network, analyze security systems for flaws, or view video content that doesn’t come from a company-approved source. Even something as simple as shopping for products that the device maker deems immoral. Do our appliances deserve that much control over our choices?

But then I got an Android device. Sure, it has all the locked-down, appliance-like feel of an iOS device. But there’s one crucial difference:

android-sources

That little checkbox means the world to me. It means, “You’re an adult. Safety or freedom. Your choice.”

With that, there’s hope.

Tags: , ,

It’s not What you do, but Why

Recently came across this video. First off, I’ll share it (and share alike!):

 

Now you can watch that nor not, but the gist of it is that a real connection with others (in marketing, professionally, etc), comes not from what you do, but why you do it. This is something I’ve long strived (striven?) for myself, and understanding of why I do the things I do, what captivates me about them and why I’ll stay up until 5am working on some projects, and can’t bring myself to do others.

The “why” of me isn’t something I can verbalize easily, but I’ll give it a shot:

I want to improve the lives of others in a meaningful and long-term way. Usually with technology.

I know it sounds lofty, but I look back on all the things I’ve enjoyed, all the challenges I’ve really loved tackling, and they pretty much all come back to that.

I need to get my project blog up soon. This doesn’t feel like the right place for some of those projects, but I’d like to track and share more. Still tracking to October 1. We’ll see how my week goes, or if I slip that in lieu of another project that I’ve been enjoying.

Mirror (Working Title)

Crowd-sourced online media responsibility, whether they like it or not


This is the project write-up for a little something I’m working on. I’d like to hear your feedback.


Executive Summary

There exists online many sources of information. Modern search engines do little to actually validate the information, they merely rank on the popularity of the information. This has given rise to a large number of articles consisting of nothing more than repetition and guesses.
Mirror gives users a way to quantify individual stories for their originality, accuracy, and value. When a user visits an article that others have rated, that rating shows up on the article, prominently displaying things like “Reprinted from elsewhere”, “Copy + Pasted Press Release”, or “Author Doesn’t Understand Subject”. This immediately alerts readers to the nature of the article, and they can then elect to continue reading, or go elsewhere.
Mirror runs as a browser plugin, laying a ranking on top of the page, and offering the user a chance to contribute. A “bookmarklet” function will also exist.
Mirror ranks users and weighs their opinion accordingly. Users who often agree with the general community consensus are rated higher, and their rankings count for more.

Read the rest of this entry »

QR Code Now Available

Nice & Simple – here’s a QR Code for my contact info. I’ll be getting this on a shirt soon, so I can be that badass.

 

qr_code_bradhubbard

Hacking Your Studio XPS 16 to Work With Any Universal Remote

Including the Harmony-series. Tested on Harmony 880 and Windows 7 64-bit

So I have this really sweet, lesser-deity-of-a-computer; a nearly maxed-out Dell Studio XPS 16. I’m very happy with my purchase, in all respects but one: some marketing jack-off with a title eerily similar to mine has decided that letting customers use any old Media Center remote on their computer was a bad plan. This includes any universal remote (like, say, the Harmony series of remotes) or standard Media Center remotes (like these). I guess it added value to the purchase, but not $$ to the bottom line, and was thus deemed a liability. Short-sighted A-hole.

One of the guys over at the notebook review forums (ejohnson0547, Notebook Enthusiast) showed how Dell used their stupid little installer to actually REMOVE support for standard MCE remotes in Windows (Vista and 7), including my Harmony 880. Since that pissed me right off, I thought I’d make it even easier on other people to un-break this little “feature”. I rolled up my hacker sleeves and “broke” the Dell driver installer for ya.

Feel free to download it below. It is a modified version of the standard Dell ITE Infrared Receiver driver installer (from 9/23/2009, Version 5.1.0000.1, A8). The drivers themselves aren’t modified, just the part of the install process that removes support for standard MCE remotes.

image

Those of you with a Stuido XPS 16 can happily download and run this to enable standard “RC6”-style remotes. Those of you with other models should refer to the earlier post on how to do this yourself. I tested it out and it worked fine on my machine, but your mileage may vary. Since it’s just a single driver, worst case you have to remove it and try again.

Oh, and hey — Dell Marketing Guy? This is for you:

fuckyounicorn

Source: http://www.mymodernmet.com/photo/the-fuckyounicorn

Tags: , ,

They May Say that I’m a Dreamer

Came across an image today and was compelled to caption it.

Reach for your Dreams

Wish I could find a source for this image, this copy came from: nerdboyfriend.com but was un-sourced. Anyone who can help me find the photographer or more info gets my gratitude.

A Slightly Enhanced TableKit

Hello one and all. Today’s bit of code: an updated and enhanced version of the popular JavaScript library TableKit, created by Andrew Tetlaw at Millstream. TableKit gives you the ability to turn any HTML table into a dynamic object, capable of being intelligently sorted by any column, resizable columns, and even in-place editing, by simply adding “sortable”, “resizable”, and “editable” to the table’s class tag.

I won’t go into extensive detail on why this is awesome. Here’s a little demo to play with though, to get the point. Click on column headers (in-line editing is not included for this, but you can find more about that at the link above):

First Name Last Name Age Teacher
Bill Smith 12 Thompson
Joe Cool 11 Wright
Amy Rogers 12 Wright
Susan Thompson 13 Greggs

After including prototype.js and tablekit.js, all I had to do was define the table like this:

<table class="sortable resizable" width="500">

At this point, the table should be sortable, and you should be able to resize the columns by dragging the barrier between the column headers. You’ll notice alternating row colors remain alternating. All the formatting (including sort color, the up/down arrows, alternating rows) are all defined as CSS properties, so you can modify them easily. We’ll get to the CSS later on.

While that’s cool (and it IS damn cool, admit it), it isn’t why I’m bothering to stay up late and write a post. I extended this library to give it a new property – “linkable”. It combines the “ConvertTableRowtoHyperlink” (CTRtH) script published a few years back and rolls it into the function of TableKit. The script will also scan all rows of a given table for the first link it comes across. It then creates a function which highlights the row on mouseOver, returns to previous state on mouseOut (preserving the pretty alternating colors created by TableKit). Clicking anywhere on the row will take you to the link. If it finds more than one link, it takes the one furthest to the left. Personally, I think lots of links in a single table isn’t the best plan, but if you want it to give up on rows with more than one link rather than picking the furthest left, there’s instructions on line 90 of the script on how to do this.

Added benefit! In the old CTRtH, you had to explicitly give the ID of each table, invoke separately, and ask the script to do the row conversion. This broke with a number of things, including AJAX updates (ended up including the JS in a partial on one project). Mostly though, it meant I couldn’t have a nice, clean table with TableKit and CTRtH running in tandem. So, I spent a flight from DC to Denver figuring out what was conflicting where, and getting the two to play nicely. Now you have an extended TableKit, which will also happily convert table rows to links when given the property “linkable”, like this:

<table class="sortable resizable linkable" width="600">


First Name Last Name Age Search Engine
Bill Smith 12 Google
Joe Cool 11 Yahoo
Amy Rogers 12 Bing
Susan Thompson 13 Google

Usage

Alright, down to business.

1) Download prototype.js and my new tablekit.js file. Include these in your header, ideally.

2) Make sure you add sortable, resizable, or linkable to the CSS class of any table you want to behave this way. You can give it an ID, but you don’t have to. However, like with many JS functions, if you have multiple elements with the same ID, you’ll only affect the first one. If you don’t give it an ID, one will be assigned in sequential order.

3) Here’s what you’ll need to add to your CSS to make it look like mine and behave as you’d expect. You’ll almost certainly want to change the colors, but other than that you should be good, I’ve tried to keep the CSS as minimal as possible so as not to interfere with your other stuff.. Notice the up and down arrows are also just background elements, so point them at your own up.png/down.png location.

/**********Table Sorting Stuff****************/

tr.rowodd {
}

tr.roweven {
    background-color: #F2F2F2;
}

tr.highlight {
    background-color: #F2F29F;
    cursor: pointer;
}

tr a{
    text-decoration: none;   
}

.sortcol {
    cursor: pointer;
    padding-right: 20px;
    background-repeat: no-repeat;
    background-position: right center;
}
.sortasc { 
    background-color: #DDFFAC;
    background-image: url(images/up.png);
}
.sortdesc {
    background-color: #B9DDFF;
    background-image: url(images/down.png);
}
.nosort {
    cursor: default;
}

th.resize-handle-active {
    cursor: e-resize;
}

div.resize-handle {
    cursor: e-resize;
    width: 2px;
    border-right: 1px dashed #1E90FF;
    position:absolute;
    top:0;
    left:0;
}

/********* END Table Sorting Stuff *********/

Tags: ,