So today the Supreme Court ruled Aereo, the Internet TV streaming service, to be in violation of copyright law. And, at least to me, this was not unexpected.

I think one of the reasons that geeks glommed onto this service so much, besides a general dislike of copyright laws and a desire to stick it to big businesses and entrenched interests, is that we like clever things. And Aereo, with it’s “rent a single antenna” system, was one of the cleverest hacks I’ve seen in awhile to try to get around a legal roadblock.

But the minute I read what they were doing, I was thinking, “Yeah, this is really clever, but, man, they’re in for a world of legal trouble and it probably won’t end well for them.”

In essence, they were taking free over-the-air broadcasts and, through technological sleight-of-hand, were reselling it back to consumers through a subscription-based service with added enhancements. They created something that looked and acted very much like Hulu or cable TV with a DVR, but didn’t pay a cent to the over-the-air networks - something that cable companies and other re-broadcasters do have to.

They argued that this was legal because they assigned you a single antenna that was no different than having an antenna in your house. The Supreme Court disagreed. In this case, they applied “Duck Logic” to it - essentially, “if it looks like a duck and quacks like a duck, it should be treated like a duck, regardless of how it works on the inside.” How it works is not relevant when the end result is no different to consumers.

Consumers are licensed to receive free over-the-air broadcasts. But those broadcasts are intended for consumers, not for re-transmission by middlemen. Established and settled law has held that that different licenses cover re-transmission, and that the networks are entirely within their rights to demand payment for re-transmisson.

And while I appreciate Aereo’s technical cleverness, I have a hard time disagreeing with the Supreme Court’s conclusions.

What is surprising is the lengths to which the Supreme Court went to narrow this ruling, to such a degree that they devoted several pages specifically to pointing out other potential cases and how they are different and non-infriging. They’re sending a very strong signal to lower courts not to intepret this ruling in a wide way, as it pertains to a very specific circumstance.

This comment on Hacker News does a really good job of breaking down the ruling.

The thing is, everyone (including Aereo) is bemoaning this ruling, but I think there’s a great opportunity here. This doesn’t have to be the end of Aereo. Just license the content legally and brand yourself as “The Internet TV Source.” Become the better, awesome alternative to cable TV (because, let me tell you, my cable company is down there with the IRS in things that I like to deal with).

What annoys me, though, is that this ruling overshadowed a much more important ruling. In a 9-0 smackdown of a decision, the court ruled that police could not search a cell phone without a warrant. Why this was even up for debate is a mystery for me, but there you go. That ruling is very wide and far-reaching, and the effects of it is still being figured out, but that one ruling could very well shape a lof of cases very soon.

Did something I wrote help you out?

That's great! I don't earn any money from this site - I run no ads, sell no products and participate in no affiliate programs. I do this solely because it's fun; I enjoy writing and sharing what I learn.

All the same, if you found this article helpful and want to show your appreciation, here's my wishlist.

Read More

Don't be a PHP / JavaScript / Java / Ruby developer - Be a Software Developer

Among the many sites I follow for programming discussion is /r/PHP on reddit. While most of the discussion is more user-based than I would like - things like frameworks, use of PHP-based software packages and the like are usually discussed more often than actual programming - there are occasionally a few gems worth chiming in on. But it never fails that, at least once a week, I see the headline “How do I become a PHP developer,” or “What do I need to know to be a PHP developer?” My answer is simple: don’t. Just stop. Don’t be a “PHP Developer.” Don’t be a “Java Developer.” Don’t be a “Ruby Developer.” In fact, don’t be any kind of developer that depends solely on a single language. Languages come and go. Ten years ago I would bet the majority of web programming was still done in Perl. Fifteen years ago the web was still widely misunderstood and Java was promising that we would only have to write code once to run on any computer. Twenty years ago you found C, FORTRAN and COBOL on mainframes. Every few years a new language comes around and everybody moves to it. Sometimes they stay around, and sometimes they don’t. C has been around for many years and is just as valid now as it was twenty years ago. Even if you’re programming in C++ or Objective-C (both of whose roots go back further than you probably realize), you still need to understand the fundamentals of the C language. Will we still be using Clojure in 20 years? How about Coffeescript? Who knows. Maybe. Maybe not. My point is, don’t chain yourself to a single language. If you do that, you will be forever behind the curve. A good developer should be able to work independent of his/her tools, should be always willing to learn new and exciting things, and should be able to apply lessons learned in past development independent of the language they are working in. A good developer should be able to come up to speed quickly on a new language. And while it is true that every developer will probably always have a preferred language and a language they’re best at, we as developers should always place the craft of software development ahead of specialization in a single language, and we should be willing to use the best tool for the job independent of our linguistic preferences. While PHP is my primary language (and what pays the bills), I am not a PHP developer. I am a software developer who works in PHP among many other languages. It should always be the goal of every developer to remain at the forefront of our craft. That means not chaining ourselves to PHP, Ruby, JavaScript, Java, Scala, Python, or any other language.