Middle-class Piracy in Movies and Television

To recap, I’ve written lately about middle-class piracy and how it affects the software industry. My friend is a pirate, but he pays for things when it’s convenient, and not riddled with anti-piracy measures that detract from the overall experience (say, Iron Lore Entertainment’s software method discussed last time, or limiting music burns to CD, etc).

Last time, I discussed the software industry, and how most vendors destroy a product in an effort to protect it from piracy — and how Stardock (and similarly, Steam) are actually doing things right to make legitimate customers feel appreciated.

This time – movies and television.

Cable Companies

My friend, the pirate, does not like cable companies. I don’t, either. Actually, I utterly despise them – he just thinks they’re annoying whereas I’d be happy to see them all utterly destroyed.

Why?

Because they FUCKING SUCK. Charter charged me $20 a month to get eight local channels, six random “basic cable” networks, two channels that told us about how awesome it would be to have Charter-on-demand, and FOUR channels devoted to infomercials.

We canceled our cable television. I haven’t regretted this decision.

My friend, the pirate, hasn’t had cable for something like four years. He says, “why pay for that colossal ripoff when you’ve got torrents?”

Torrents

I didn’t know much about these until recently (recent, in my lifetime, means about a year ago). They are like ++(Kazaa++). Sorry for the uber-geekism just then, but seriously, the technology behind torrents is pretty freakin’ awesome. For legal purposes, torrents serve as a way for a small company to get their product out to the world without using up a ton of bandwidth. Since the torrent is a peer-to-peer protocol, rabid fans actually offer up their idle bandwidth for the product in question.

For piracy, of course, this is a goldmine of free goodies. Apparently torrents are especially good for television. (I don’t know how that can make sense – it’s just digital file transfers – why would it be better for one file format than another?)

My friend doesn’t pay for cable television. He sometimes pays for a series on DVD. But mostly, he just downloads the shows he wants to watch.

Why? Because it’s convenient as hell. No worrying about the lame TV schedule. No trying to set up a VCR or DVR. No waiting for the episodes to come out on DVD. Torrent the episode the day it airs, and watch it before your friends do! It’s just too damned easy.

Hulu.com

Hulu seems like they have a chance to solve this. Actually, hulu.com is just one of many streaming television providers, and Amazon.com even sells episodes and seasons in their “unboxed” collections.

But I’ll focus on hulu, because it’s a pretty good “common denominator” in the streaming media world. They’re apparently a joint venture sponsored by FOX and NBC (hence so many shows (and movies) from those two). What they do is offer various full episodes of television shows, with very short commercials. Instantly. On demand. Watch what you want when you have time. Great idea, and I’ve enjoyed a lot of stuff there.

In theory, this is in fact the paradise that could stop middle-class television piracy. I don’t mean “slow” or “diminish” or anything similar — I mean “stop.” Middle-class piracy, once again, is primarily about laziness. If they can get their “fix” for free, instantly, and only have to deal with watching 2 minutes of commercials for a 45-minute show, they generally will prefer this over torrents. Torrents take time. Torrents have a small risk associated with them. Torrents released the same day as a TV broadcast are rarely high quality.

In theory, this combination gives a site like hulu.com the ability to completely obsolete all middle-class TV and move piracy. But why is it only “in theory?” Simple:

They dun fukk’d up, boy

I can’t blame hulu for the mistakes – I assume it’s the networks being morons (yeah, big surprise there eh?).

For most shows that are still airing, we get the last 5 episodes if we’re lucky. In the cases of Family Guy and The Simpsons, both featuring a wealth of old episodes to watch, we get the last three for FG and the last five Simpsons.

So people are expected to watch within a few weeks. For viewers who have been following a show since day one, I suppose it works out well enough. But for any show that hasn’t been seen in its entirety by everybody in the world, I call it a huge mistake — people may end up just torrenting the episodes they can’t find. Overall, it’s not a huge loss for shows like The Simpsons or Family Guy — newcomers can just start up anywhere in the series. But it’s not a huge gain, either. And what about story-driven shows?

Bones, something I’ve just started getting into (my friend, the pirate, says it’s kind of boring, but he’s an idiot so he can STFU), has all of season 1 available on hulu. They recently took down the few season two episodes they had. And season three? You guessed it – last five episodes. When I’m done with season one, I’ll probably ask my friend, the pirate, if he has season two for me to borrow. I won’t ask stupid questions like, “Hey, did you get this illegally?”

Then the networks make it worse. I’m a rabid Battlestar Galactica fan. But Charter, being the dimwits they are, want to charge me over $50 a month to get sci-fi (“extended basic” or something). So how does sci-fi make it better for me on hulu and sci-fi.com’s rewind? THEY DON’T. They pull this same “last-five-episodes” shit. And they show up online a full week after they broadcast. So if I want to start anew with BSG, my best option is a torrent. If I want to watch an episode that I know my friends will be discussing on Monday, my best option is a torrent. Way to go, network idiots.

They get it! …or do they?

I just can’t figure why the networks would do this when they seemed to finally get it! They’re getting you hooked just to pull the plug? It actually encourages piracy, if you ask me. You go from instant accessibility of television to total lockdown. So your options – buy episodes one at a time (around $1.89 per episode!) or torrent.

What do you think the average hulu user will do?

Hulu users are geeks. Right now very few non-geeks are willing to watch TV and movies from their computers. Hell, very few non-geeks even know that’s possible at this point. So basically we have a crowd that’s primarily geeky being screwed yet again by the networks. This geeky crowd, for the most part, is aware of torrents.

I’m betting enough of them will torrent that it’ll totally screw the brilliance behind hulu. All because of stupid networks making stupid decisions once again. And what’s more, I wouldn’t be surprised to hear that streaming video is called a failure, even though the true failure, is once again the idiots in charge. The decisions of executives, completely out of touch with the middle-class consumer, will end up destroying a system that could actually end (or at least severely cut back) middle-class piracy!

It’s a win-win situation that appears doomed to fail.

Good news?

Unfortunately I don’t have a lot of good news here. Amazon sells episodes fairly cheap, but torrents are cheaper. And unlike software, TV and movies don’t suffer from being “poorly cracked” or needing updates, so to beat torrents in this industry, you need to be incredibly competitive. So far, the online experience falls far short, and Amazon’s prices definitely don’t come close for somebody who wants to watch a lot of TV.

The movies on hulu are nice – that’s good news, right? Well, only a little. There are only a few dozen movies up there, and it doesn’t seem like they’re adding movies fast at all. Plus, of the movies they have, maybe 10 are actually worth watching. So… not a big win in my book.

ABC shows all of Lost on their site. And in HD. Those episodes are about the clearest things I’ve ever watched in my entire fucking life. I think real life is no better quality. I’m not saying this as a metaphor or a hyperbole – those episodes are ridiculously amazing. Yes, and I have bad vision, so it probably doesn’t take a lot to impress me.

While that would seem like a piece of good news, it’s the only series ABC puts up in full – the rest seem to be the last few episodes, just like other networks. Makes me more than willing to watch Lost, but nothing else. And makes me think Lost is nothing more than a digital loss leader.

Netflix has this same concept as hulu, but with a better selection, no commercials, and a reasonable price! They’re the good news!! Except that the networks seem to castrate them as well. New episodes were not available last time I checked (only prior seasons’ episodes, if I was lucky), and in most cases they don’t even have more than a season of a given show. Dr. Who (the new one from 2005 or so) had season one available when I was a Netflix customer. To watch the other seasons I would have had to wait for DVDs to ship. I’m lazy, damn it! I’m not my friend, but I have his mentality. I canceled Netflix because the waiting time just wasn’t worth it. Had their on-demand service been better, I would have absolutely stayed with them. (again, not likely their faults as much as the networks)

So if anybody is doing it right, I have yet to stumble upon them. What a letdown. Here we are in an age where the cable companies should be completely obsolete! Television and movies should be easily viewed on demand (and made affordable – or at least worth their price). And yet, I think Fred Flintstone was doing about as well as we are. No wonder middle-class pirates are so prevalent here!

There are a slew of wonderful ideas for improvement here that I won’t even try to cover (go down that road and everybody whines about the ones you missed – so screw you all), and yet the networks are so trapped in the slowly crumbling business models of the past. It’s kind of sad, but mostly just makes me really not care when somebody pirates even good television (for the record, I tend to get annoyed about hearing good software get pirated).

Stay tuned!

“Stay tuned” is getting old. I’ll try for something more interesting next time…

…which is when I’m ending this series with a very brief piece about piracy in music, and my final thoughts. Just like Jerry Springer.

Yes, and since it’s my final article I guess my concern over the wording of “Stay tuned” is moot. I love when problems solve themselves.

Middle-Class Piracy in the Software Industry, take 2

To recap, I’ve written lately about middle-class piracy and how it affects the software industry. My friend, the pirate, a really nice guy who’s kind of lazy, is a prime example. He could buy stuff but often doesn’t because DRM and badly-done copy protections make it more convenient for him to just be a thief.

Last time I was in the middle of the software industry’s situation. As promised, here’s the present situation as I (and my friend, the pirate) see it:

Present-day customer fuckery

Today’s copy protections are just as shitty as those I described last time. I personally won’t buy anything that has copy protection, because of the way they do things – just look at the problems surrounding Starforce. Other issues with copy protections are playability on newer systems. I own Lord of the Realms 2, but I cannot play it without a crack. Same with Need For Speed: High Stakes. Same with countless others. The hardware they were written for is nothing like today’s hardware, so they just freak out on me. Makes it easier to just pirate the software that I legally own at this point.

Worse still are the idiot developers like Iron Lore Entertainment who abuse the hell out of copy protection and then bitch when it bites them in the ass:

One guy went so far as to say he’d bought the retail game and it was having the exact same crashes, so it must be the game itself. This was one of the most vocal detractors, and we got into it a little bit. He swore up and down that he’d done everything above-board, installed it on a clean machine, updated everything, still getting the same crashes. It was our fault, we were stupid, our programmers didn’t know how to make games – some other guy asked “do they code with their feet?”. About a week later, he realized that he’d forgotten to re-install his BIOS update after he wiped the machine. He fixed that, all his crashes went away. At least he was man enough to admit it.

Wow, it’s a customer’s fault that your shitty protection caused crashing without explanation because of a lack of BIOS updating? (Also, how does wiping a machine cause a need to reinstall a BIOS update?)

Iron Lore made their copy protection break in many ways to try and stop piracy. End result:

  • Legitimate users with a system that isn’t happy with copy protection crashed for no obvious reason, and Iron Lore apparently treated them like shit when they (very appropriately) complained.
  • Pirates ignored this game. Sorry, but it wasn’t big enough to get hit with a ton of piracy – most piracy was due to curiosity, not people saying to themselves, “MAN I GOTS TA HAVE THIS SHIZ-NIT!” I know a lot of pirates, at least in an online capacity (yes, as I said, I have no real friends), and none of them were interested in yet another D2 clone.

And now for something completely the same

The sad truth is that Iron Lore isn’t unusual. Their methods for copy protection have been done in many ways since software was first being protected. They used well-known methodologies based on the belief that security can only be obtained by assuming any little anomaly is the customer trying to steal from you. Bury your copy protections deep in the code. Make calls to check validity in every place you can. Don’t let the user know it’s a copy-protection-related crash.

So Iron Lore and other software developers actually suffer. They are stupid enough to pay for software protection systems that aren’t 100% stable. They are gullible enough to think it’ll stop piracy. They are arrogant enough to believe the customer is to blame for their problems in a game that was never interesting to begin with. That’s right! If your game doesn’t suck, you won’t go under, regardless of piracy… read on.

The good news?

Yes, there is good news in the software industry. It is Stardock. Steam is a very close second, only losing points due to the default requirement of an internet connection. But both companies avoid copy protection in a traditional sense. Stardock in particular has always been strongly against copy protection, a trait that my friend, the pirate, has valued greatly — not because he can easily steal, but because he sees a lot of value in buying their games. He never has to worry about a bad copy protection. He gets software very fast after purchase. They update the hell out of their games with new features, not just bug fixes. They update regularly, making piracy annoying – new update comes out, wait for it to be posted on some warez site, download it, find out it’s actually the German version, rinse and repeat. Or just buy the games online for and instant download, and get all that stuff with no hassles. Just perfect for those middle-class pirates.

And Stardock’s sales? Damned good. Galactic Civilizations 2 has been better than budget by a pretty good amount (I believe Brad said sales for GC2 and the Dark Avatar expansion fully funded the Twilight expansion so they didn’t have to worry about Twilight’s budget at all). Sins of a Solar Empire, published by Stardock, sold over 200,000 units in its first month. With no copy protection. Piracy has some impact, but clearly it is not the sole force in success of a game. Stardock knows this and says, “meh” to copy protection.

End result:

  • Legitimate users get a great experience, “instant” downloads (depending on connection speed, mind you), optional CD shipped (at least, Stardock does this with a lot of their stuff – not sure about Steam), and NO worries about yet another badly implemented copy protection system.
  • Pirates have it good, too, no doubt about it. But for some reason, they haven’t totally destroyed Stardock. Makes me wonder if maybe the anti-piracy vocalists are exaggerating just a little tiny bit…?

For people who don’t get it about copy protection being the debbil

It is. Copy protection was invented by Satan in an effort to get people to pirate shit:

  • Copy protection is not cheap. To get copy protection on a game is to increase the cost to the consumer by a not-insignificant amount!
  • No software is bug-free without an unlimited budget (such as building real-time military software, where money doesn’t matter when it comes to precision and reliability). Copy protection is no different.

Put those two together – you increase costs to your consumer and decrease stability. DO THE MATH, SIRS. Stardock gets it – it’s just not worth the hassle. Piracy will happen with all but the best copy protections, and the “best” are often the least stable. Let the pirates be assholes, you can’t stop that. So long as your legitimate customers see a lot of value in the purchase, they will make the purchase. GC2 and Sins are both excellent examples of this. Both have very good sales figures, and no copy protection. None.

My friend, the pirate, has bought maybe 15-20 games over the last 5 years. 4 of them are from Stardock. Another 7 or so were bought off of Steam. One was store-bought (impulse-buy) and still has not been opened. (“I will play it soon. I just don’t want to deal with the DVDs….”)

Stay tuned!

Next time I’ll discuss the movie and TV aspects of piracy, including the very exciting topics of Netflix and hulu.com.

Nerdbucket takes a dive…

I apologize for the downtime today. Apparently this new plugin I got for wordpress, bookmarkify, did a lot more than I expected. I read some idiotic rant about how some dude went from no traffic to 2,000 hits in one day after installing a similar plugin. What an absurd little man, I thought to myself (ironic, really, as I’m only 5’6″ (that’s about 1.68 meters)).

For those who don’t know (and don’t want to follow the link), bookmarkify is what causes those little buttons to show up below my posts, allowing anybody to easily submit an article to any of the various social bookmarking sites: digg, reddit, dzone, etc.

In a 14-hour span today (skipping, of course, the four-hour downtime), I got over 1,600 unique visitors. Over 8,500 page views. (For the record, a typical day is around 50 uniques and 100-200 page views.)

I of course used bookmarkify to submit a couple links to a couple sites, but it was other people submitting other pages (and then further people voting) that really made this work. So, anonymous submitters of my crappy content, I thank you!

I’ve made some changes that will hopefully mitigate this problem, but I suspect I’ll need to find myself a caching system of some sort in the near future.

The next middle-class piracy article is still scheduled for Friday — I just wanted to explain what happened today.

Middle-Class Piracy in the Software Industry

Recently I discussed my own take on middle-class piracy. To recap, I’m talking about pirates who can easily turn into legitimate customers if the goods they steal are made more convenient to buy than to download illegally. They aren’t poor, so they can afford it – they just prefer whatever’s easiest. And everything I discuss here is from my friend’s perspective. My friend is a pirate. He’s really a good guy, but a pirate.

The software industry generally has some of the best and some of the worst anti-piracy measures available. It stands to reason, because software has been plagued by piracy pretty much since it began – anything that’s representing digitally can be copied with no loss, unlike things like cassette tapes or VHS movies. So the industry has been scrambling since I was a kid (waaaaaay back in the 80s) to stop piracy.

I only know what my friend (the pirate) can remember, so I will not cover every piracy-prevention method here. Mainly the ones that tended to be common on games.

Disk errors

Initially there were things like intentionally putting errors on floppy disks so a direct copy wouldn’t work, but of course the pirates got smart and came up with ways to copy the errors as well as the data. End result:

  • Legitimate users with flaky drives could lose out on a product they paid for.
  • Pirates didn’t have this problem.

Decoder-ring

Then there were the manual-based protections, or decoder-ring/wheel protections. These were designed to make the user look something up in a manual or move a decoder-ring or decoder-wheel to find a word. Presumably the pirates didn’t want to copy an entire manual. Of course pirates can reverse-engineer source code to force the game to skip the protection, or hack the random number generator so that the same word is always chosen. In extreme cases, they just hit the protection dozens of times and write down a matrix of the most common cases. End result:

  • Legitimate users who lose their manual are screwed. Even when they don’t, they have to dig it out every time they want to play the game.
  • Pirates every once in a while can’t answer the question, and sometimes have a cracked game that’s broken because the crack was applied incorrectly. Overall, they usually had a better experience than the legit users.

Dongles

Dongles were a travesty, and are still used today…. The thing about these items is the user must have this hardware “key” plugged into their computer in order to use the product. This adds a point of failure for legitimate users – lose software CD, you’re screwed. Lose dongle, you’re screwed. The greatest thing about these is they’re almost always easy to crack. My friend, the pirate, says he went through a brief tutorial on some Sentinel thing and found that even though he was never better than an intermediate cracker, that particular hardware key was a breeze to get past. End result:

  • Legitimate users suffer greatly. Dongles are usually used only for high-end items, making the double failure points that much more concerning. Couple that with the annoyance of having to find a port (often on the back of one’s computer back when these things were really popular (parallel port)), and you have a big ass-raping of your customers.
  • Pirates love this shit. Usually easy to crack, often high-end software. Sometimes so easy to crack big pirate rings can manufacture and sell illegal dongles, possibly taking revenue away from the idiots who sought the dongle protection in the first place. Think about it – if the company didn’t waste money on the dongle protection, maybe their prices could be more reasonable.

Size of media

CDs were initially only protected by being big. When CD burners were totally infeasible ($1000 and more) and hard drives were small (say 500 MB), it was impossible to pirate CDs. This was the golden age of anti-piracy measures. Users knew they needed the CD in the drive because there really weren’t any other options given the size of data – we put up with it because we understood why we had to. Pirates just got pissy and bitched a lot. Which wasn’t really out of the ordinary anyway.

Even when CD burners became semi-feasible, the media was still unreliable and expensive. My friend, the pirate, recalls such a time:

I bought a burner for about $250, 2x write [that’s about an hour to burn a CD if you did a simulation, and back then he did that every time because media sucked so much], figured it would pay for itself after what, 5 games right [at $50 a game]? No such luck actually. It was $10 a cd to burn on, and at least 3 in ten was bad, so I think it was an overall loss even after ten games, heheh. And nobody wanted to go in on the game and the media and wait around for it all just to get a copy so like you just had to rely on borrowing shit.

End Result:

  • Annoying for legit users, but totally understandable necessity. When your game is 600MB and the average user has less than that much hard drive space, you don’t have the option of being consumer-friendly.
  • Annoying for pirates, but they knew they’d have the last laugh. Technology always gets better, so it was only a matter of time before they could get their stuff free again.

Serial codes / instant activation

Then we have instant activation products. Technically this stuff is older than CD media. Games for BBSes were my friend, the pirate’s first experience. He wrote key generators for many door games. He’s very proud of stealing from small companies apparently.

So you download it for evaluation, and if you pay for it (to remove the annoying nag screen for instance), you just enter a serial number, unlocking it instantly. Nice idea, and actually makes it more likely to keep all your customers happy. Some companies do this wrong, making it too easy to crack or too many “anti-crack” checks that cost them some users, but overall it’s a pretty decent system. End result:

  • Legitimate users have to worry a bit about losing their activation codes, but a good company will store purchase info or have account data so you can reactivate at any time in the future (Alcohol-soft and Stardock both do a great job of that).
  • Pirates are also happy, because the download contains the full product, so they just have to crack a serial and get a free piece of software without any obviously illegal network activity.

The beginnings of evil

Serial numbers and product activation codes could be copied, and CDs were eventually burnable. Internet connections could be used to check validity but nobody would put up with an internet check on every use of a product until recently (and if you look at steam’s forums you’ll see a good number of people still aren’t).

So the next logical step (for the paranoid idiots who (a) thought they could stop piracy, and (b) were so paranoid they thought it was costly enough to invest in trying to stop) was hard-core CD protection. This stuff was nasty early on. I personally remember the problems I had with Diablo 2 on an old CDROM drive. My friend, the pirate, says many games had similar issues. He often grabbed the crack for games he bought because of these problems.

Some companies that don’t suck, such as Firaxis, had so many problems with copy protections that they actually released their own fully legal cracks.

End result:

  • Consumers are screwed time and again by poorly-implement copy protections. Just like it’s a guarantee that all software will have bugs, all copy protections (being software) will also have bugs. This means some number of users will be FUCKED. When companies deliberately make the situation worse, they screw the consumer and themselves with a very splintery wooden sex toy of some kind.
  • Pirates get the shit cracked. Sometimes it isn’t perfect, but it’s usually no worse than risking a legitimate copy of a badly-protected game.

Stay tuned… again…

Sorry, looks like this is way longer than intended. Next time, I’ll go into more details about the software industry’s piracy practices today.

Middle-Class Piracy: an Overview

I’m always interested in the various industries and how they handle piracy concerns (as well as how they BS the U.S. to prove that domestic piracy is more than a minor problem). And seeing as… uh… a friend of mine is a filthy, disgusting pirate, I figure I’ll tell their side of the story.

This will be the first article series for Filler, and hopefully not the last as I consider my writing skills and incredible grasp of human stupidity both to be very important to share with the world.

What is middle-class piracy?

Simply put, it’s a concept I didn’t really make up, but I haven’t seen a good name for it. Piracy takes many forms:

  • Kids who pirate things they can’t buy for themselves. Think of napster and the young teenagers there whose piracy (though not right) didn’t affect the industry, because they weren’t able to buy the music anyway.
  • People in poverty who feel they deserve entertainment regardless of their financial situation. Their plight is one I can sympathize with, having struggled financially most of my life. This doesn’t make it right, but their thefts would never have converted into sales.
  • People pirating things they would never buy anyway. Again, this doesn’t make it right to pirate, but it is a different situation than piracy that actually results in lost revenue. This is usually people who are curious about something (say a really bad movie) but if they couldn’t get it free, they wouldn’t bother to pay for the product.
  • People who are pissed off at some industry or another – they often like what they pirate, and would be legitimate customers if they were unable to get their stuff freely. This would include people who stopped supporting Metallica after the napster ordeal – they would have paid if they had to, but they did what they could to avoid it because they were angry.
  • In software, people who want to try before they buy. These users often pirate a lot of stuff because they feel the industry has burned them too many times, but if they find something the actually like, they buy it. Their piracy sometimes results in lost sales (say a game that’s a lot of fun but short-lived), but sometimes results in gains that may not have happened (“Yeah, like being unexpectedly surprised at how fun Postal 2 really was,” so says my friend, the pirate).
  • People who are just plain lazy. These people would buy the stuff they like, but prefer piracy because it’s instant – no stores, no lines, no CDs, etc. When a legal alternative is a better option, they choose it because they just want whatever is the least hassle. These are the people who like Netflix movies on demand, hulu.com, Steam, and Stardock Central (soon to be Impulse).
  • People who are just plain assholes. These people would also buy the stuff they liked if they had no other choice, but will go out of their way to pirate because they feel they’re owed something for nothing. These guys suck. Even my friend, the pirate, says they’re assholes.

Middle-class pirates can be in any group above except the first two, but are more common found in the “lazy” group. They don’t necessarily feel like piracy is the right thing to do, and they may not even rationalize the piracy – they may flat out tell you what they’re doing is wrong or that they do feel “kinda” bad about it. They just pirate because they hate dealing with the shit that goes along with buying legitimately (DRM on movies and music, broken copy protections on their software, CDs and DVDs, etc). When a legal alternative presents similar conveniences as piracy, they’ll often choose the legal avenue, because they like to support quality products (even if they are sick of the fact that most of their money is never seen by “the little guy”).

Why middle-class piracy?

I address these pirates for two reasons:

  • First, I know many of them, at least on the internet (yeah, I know, I don’t have real friends).
  • Second, they’re the easiest group in the world to stop, because they’re lazy first, pirates second.

By definition, middle-class pirates aren’t poor, so buying isn’t a non-option for these people. They just have to see value in making a purchase. Which, sadly, is more and more rare in the digital age.

Piracy costs companies millions and billions and trillions of … nothing?

How piracy is reported as a loss I will never fully understand.

Different reports place losses in the billions for various industries, yet box office takes are still record-breaking when the movie isn’t trite Hollywood crap. Bands may not be making a killing, but the labels are clearly doing very well. Software sales for the big games (those the most easily pirated, by the way) are insane.

The claim that piracy is destroying any of these industries just has no real evidence to back it. I’ve seen quoted figures, legitimate-to-pirate ratios, graphs showing the decline over time as piracy has “destroyed” one industry or another. None of this data is real.

The data cannot be real!

My friend, the pirate, has pirated many things in his life, but rarely does he pirate something he likes without ending up buying it. He says that software in particular is this way. He downloads games and plays them a few days. If he likes them, he pays (easier to keep the game up to date that way, or get support, or mods, or whatever – again, laziness on his part if you ask me). If not, they’re deleted from his computer. He admits that he sometimes keeps something around that he “sorta” likes, but if he lost it and found that he couldn’t pirate it again, he wouldn’t pay for it, either.

He’s also downloaded movies or music in situations where he once bought it and broke the CD/DVD, or rented the movie and never had the time to watch it. Is that morally right? Tough issue I won’t get into (it’s absolutely illegal, but “right” vs. “wrong” is not so black and white), but it’s not a loss of revenue given that he already paid for the product. In the case of a CD, it’s legal at the moment to make a backup, and DVDs are iffy territory, but in many countries even those are legal for personal backups. So had he made a backup or not broken the product, he’d never have needed to replace it – i.e., he still seemingly should own the right to view or listen to said product. The rented movie issue is trickier, but I tend to agree that he paid for the right to view the movie and if he’s really and truly viewing it once and deleting it, he’s not costing anybody anything.

The point? Measuring piracy is impossible. There is no way to know what the pirate is doing with the product. If he downloads it to replace something he already paid for, I just can’t call that a loss. If he downloads it and ends up buying it later, that’s definitely not a loss. If he downloads something on a whim that he doesn’t care about and never would have bought in the first place, that’s not a loss. Yes, he should pay for it if he likes it, but it’s technically not lost revenue.

Stay tuned!

Next time, I’ll talk about the current situation in the software industry, which I believe has some of the best (and worst) practices with regards to stopping piracy without alienating legitimate users. Pay special attention to Stardock’s approach, as they have about the only real proof of what piracy costs a smaller game company.

XML is still evil

I love people. Everybody who knows me is aware of how much I respect and admire the average person. Software folks are no different. Most of them are very intelligent and never say stupid things regarding topics about which they have almost no experience.

So while I wasn’t terribly surprised to see that XML is still crap, I was utterly shocked to see that people still defend it.

PEOPLE, LISTEN THE HELL UP. It’s very simple. XML was built to mark up documents, not to store data. Here are some choice comments from really smart people:

XML became the default because of its flexibility in data formatting. And, because it has become so ubiquitous, almost all programming languages have built in ways of easily parsing XML. In fact, I do almost all of my web output using XML and then use XSL style sheets to transform it into HTML. I remember some blogger, can’t remember his name, blathering on about MVC and how you should make your output “skinable”. Well, if you produce XML output, your webpages are extremely skinable.

The problem here is that you’ve apparently killed most of your brain cells by listening to idiots tell you what to do all your life. XML is flexible for sure, but the problem is how it’s abused. XML is used for everything. SOAP is the worst example. XML is not for data storage. It is not okay to store data that isn’t meant to be human-readable in a TEXT-ONLY FORMAT. Have you ever seen how much smaller binary files are than text files?

Skinnable websites = marked-up documents. That’s what XML was built for. I don’t even like it for that very much, but it does work fairly well in that capacity. Marked-up data is a completely different situation.

I’m afraid I couldn’t disagree more. No, XML isn’t the easiest to read (by humans) of all the infinite number of alternatives out there. No, XML isn’t the most efficient in terms of space. And yes, perhaps it has been forced into places it was never intended to go. But you miss what I think is the most important point: it is rapidly becoming a standard way of representing information. I would argue the value of having a standard far outweighs the inefficiencies in most cases.

I would argue that you’ve been brainwashed by people who are only slightly stupider than yourself. XML as a standard isn’t a good thing, but even here your “logic” is nothing but a straw man argument. The author of the post didn’t say standards were bad, and didn’t even say XML didn’t make sense anywhere. He said XML wasn’t the best choice for every place it’s being used, which you have already admitted!

You’re an embarrassment! It’s not good to have bad standards! Look at SOAP! It is good to always look for a better choice. Where the fuck would you be without people ten times are intelligent as yourself always looking for better options? You’d be a fucking caveman. We evolve, we look for better options, we find better ways to get a job done! Standards are fine, but without constant analysis and reconsideration of those standards, our industry would never go anywhere. How can you claim to be an IT person and yet not understand this?


Following a link from that site to an old JSON vs. XML debate, I found even more idiocies. But one in particular just shouts out about the morons who’ve managed to become part of my industry:

As Dr Phil asks — What were they thinking?

No doubt I can write a routine to parse this, but look at how deep they went to re-invent, XML itself wasn’t good enough for them, for some reason (I’d love to hear the reason). Who did this travesty? Let’s find a tree and string them up. Now.

This is bad. This guy is a total moron. I mean, he didn’t even bother to investigate JSON before he said this most absurd of arguments. Not only is he saying, “Let’s not reinvent the wheel for any reason, ever” (which should be a blasphemy to all computer science disciples), but he’s saying JSON makes no sense for anything, ever. JSON may not be your cup of tea, but it’s faster than XML when used in Javascript (eval vs. parsing XML – sorry, but if you can’t figure that out, you’re just a dildo – only you probably get less sex) and for the most part, more human readable and writable.

Oh, but Dave Winer (Whiner?) gets even worse:

Dan, where are the benchmarks that say that on a processor capable of running Flash apps or playing Youtube videos that it can’t parse XML “cruft.” If you’re going to use an engineering argument, be prepared to back up t your assumptions with data. I’m pretty sure you can’t because I ran my own benchmarks on the end-user CPU of the late 90s and the overhead of parsing XML was negligable then, and now..? Geez Louise. How many gigahertz to people have these days??

XML parsing is a monumental task. This is clearly the ramblings of some dumbshit who’s never actually used SOAP, XML-RPC, or even plain old XML with XSLT on large data sets. Parsing tens of thousands of records (serialized from the Oracle DB because XML is so great) at my current job is a nightmare. XSLT transforms in some cases take 5 minutes or more, on blazing-fast hardware, using a C++ library (libxml and libxslt). In the late 90s, you’re going to try and tell me XML parsing had “negligable” (IT’S FUCKING SPELLED “negligible!”) overhead? What did you parse, “<hello />world” or something?

Fucking idiots. There’s a reason enterprises that were stupid enough to follow the XML trail are now buying XML-parsing hardware.


My comment is this – if you’re in the computer industry, don’t shoot your mouth off about things you’ve only thought about for 2 minutes while you jerked off to pictures of your dad. You sound like a moron when you do. Me, I’ve used XML in the real world. And a tiny bit of JSON, and a good deal of YAML (I even jerk off to YAML now and again). For marking up documents, XML is fine. For data that needs to be human-accessible, YAML and JSON are so incredibly superior, it’s a joke. Try them out in real situations before you make a total ass of yourself. Yes, I’m talking to you, Dave.

(Yes, I read his “ooh I dun learnt alot in that there diskusshins” follow-up. Ignorant bashing is ignorant bashing, regardless of your “oops” responses later, people)

Why Ruby is so sexy-awesome, part XXXIV

I use Ruby whenever I can. Not specifically with Rails – Rails extends the language and adds some nifty things, but the beauty is all Ruby’s.

Today I was using Ruby (in a Rails app, as it happens), and I had this “API” that returns generic hash data. I want to be able to take data from any source (Oracle, flat text, web service) and return data that’s in a very simple and easy-to-use format, so I chose to just convert data to a hash on a per-source basis.

But how do I handle typos in hash keys? What if somebody asks for “person[:name]” when they’re supposed to ask for “person[:full_name]”? They just get blank data and wonder WTF happened…. I can’t live with this situation, because it’s just too easy to forget a key’s name, or make a simple typo. I could return default data from the hash, such as “YOU FUCKED UP WITH YOUR KEY, SIRS”, but that could find its way into production and then I’m out a job.

So after a tiny bit of digging, I discovered that a Hash can not only have a default value, but also call a default block when a nonexistent key is requested:

irb(main):001:0> a = Hash.new {|hash, key| raise "#{key} not found!"}
=> {}
irb(main):005:0> a[1] = :foo
=> :foo
irb(main):006:0> a[1]
=> :foo
irb(main):007:0> a[2]
RuntimeError: 2 not found!
irb(main):008:0> a.default = nil
=> nil
irb(main):009:0> a[2]
=> nil

Normally I’m good with non-strict default data, but in this case it’s great to know I can actually validate data in a way that makes it hard to miss typos.

It’s not as safe as C++ (edge cases are only caught at runtime), but it’s far better than Perl (and nicer to read or write than both, IMO).

Laid off? The one thing you absolutely need to do if you’re rich or stupid

I like people who have no understanding of the average Joe, but preach to him anyway. They’re cute and their naivety is endearing in a certain way. I’m talking about you, Jason Kester.

Get laid off from your job, go take a six- to nine-month vacation. It’s the best time in the world to do so!

You have a pile of saving [sic] and a severance package.

Savings, maybe, though that’s not a given. Severance package, though? How many jobs even offer those anymore? Mine sure doesn’t (at least not below the Director level, which is where the majority of IT folks are), and I don’t work in a small place. Don’t preach to a group if you don’t even know anything about them.

I’m not going to bash the rationale behind this thought – I can really understand the suggestion for people who have the means to take this advice. What I just don’t get is Jason’s blanket advice that says basically nobody has an excuse of any kind not to do this:

But I don’t have any money saved…

You can’t possibly be serious. Are you saying that you’ve been working in IT for all these years and haven’t put away a lousy ten grand??? Shame on you. Get a book on life skills and open a bank account fer cryin’ out loud.

Wha…? Since when have all IT people been paid so well that $10k is (a) pocket change, and (b) something to throw away when times are hard? Hell, the most I’ve ever saved is $8k and that was to buy a house. And my salary isn’t even on the low end of the spectrum! Some people just live paycheck-to-paycheck by necessity, and condemning them for it is not only extremely snobby, but just proof you live in a bubble far from the real world. In San Fransisco, for instance, the average pay for a software engineer means barely scraping by or living an hour’s drive away. Sometimes both.

At both of my professional jobs, there have been software engineers paid low enough that two salaries are required if the people want to even own a shitty home, much less living nicely. Jason, you’re an ass.

But I’m married with a family and a house…

Ok, you win. You’re screwed, but that’s the life you chose for yourself so you’re going to have to live it. It’s worth noting, however, that most Europeans wouldn’t consider that a reason not to travel. Right this second, there is a German couple pushing a stroller down a remote beach in Thailand, and they’re not going home for another month. What’s your excuse again?

Wait, so we’re screwed if we chose to have a family? A house? What if we’re happy with this choice? Are we just too ignorant to see the error of our ways or something? I honestly don’t get what you are saying here. But again this speaks to ignorance on Jason’s part – he has no concept of giving up something you want to have something else you want (the house – I’m assuming if I say I’m happy to be married and have kids he’ll just say I’m lying to myself, but having a house is a tangible asset – even idiot snobs can understand that). He also has no concept of how expensive it is to take the whole family to Thailand for us IT people paid a “normal” salary. He also doesn’t understand that sometimes kids are in school or that the spouse of the laid-off IT person has their own job.

But the most amazing piece: he doesn’t understand that some of us who actually do have the severance, the extra $10k, and everything else may not want to take the time off. Maybe it took me years to save $10k, and I don’t want to blow it on a trip when I could increase that savings instead. Maybe I am hoping to get a million in the bank before I retire, and every year I work hard gets me 5% closer to that goal, whereas just disappearing drops me by 5% instead. Maybe I want to really enjoy my 40s or 50s instead of waste my disposable income on a one-time trip that will screw up other goals in my life.

Then again, maybe Jason is just a stuck-up, ignorant white guy who simply hasn’t got a clue.

Intuit’s Evil Empire: Quicken Deluxe 2005 Strikes Back

I have always used Quicken for the most minimalistic of checkbook balancing. For some reason, even though the newer versions have continued to get bigger and more bloated, I’ve continued to stick with them, and even paid for the pile of rat dung they call Quicken Deluxe 2005.

Hating Intuit was a dangerous choice, as it turns out. Starting in 2005 editions, Intuit apparently added in the ability to disable select features after a three year period. For those of us who rely on, say, importing transactions from our bank, we’re just screwed through and through. Raped, more like. Violently. With broomsticks, chains, whips, and random jolts of high-voltage electricity.

How can a company as big as Intuit actually get away with something like this? It’s pretty much blackmail – won’t their users get as disgusted as I did and look for other options?

Maybe it doesn’t even matter. Because I did that. I looked at the other options. I looked at Moneydance. I looked at Gnucash. I looked at a few others whose names I forgot about as fast as it took me to run their uninstall programs. I avoided MS Money because I’ve heard it’s just as bad as Quicken in terms of the BS they’ve added in over the years.

In the end, I wasted a couple hours just to buy Quicken 2008.

I’m amazed at how utterly shitty the competition is. I’m a software designer for a living, and I’ve even worked on accounting software at my last job, so I know how challenging it can be to design something as big as a knock-off of a really successful accounting package. And for the freeware options, I can hardly fault them for sucking – they’re free. Gnucash looks promising if you’re an accountant. Plus, it couldn’t deal with downloaded transactions even a tenth as nicely as Quicken. Moneydance, a commercial app, was written wholly in Java, making its UI anything but consistent with other Windows apps. Plus, it couldn’t deal with downloaded transactions even as well as Gnucash. Another app, another set of problems, plus they couldn’t fucking deal with downloaded transactions nicely.

I can’t figure it out. For all of Intuit’s crap, for all Quicken’s painful UI decisions, it’s still the best app for somebody who just wants to download transactions and keep a single checking account balanced. Weird.

Dotproject strikes again…

I’m sure I’ve bitched about open source plenty of times, but I have to rant once again. Dotproject is my project management application of choice. It does everything I want, and in particular allows for very awesome time estimation which was extremely useful for Bloodsport Colosseum. I was able to break down every task into subtasks and really get a feel for how much effort was left by looking at the accuracy of past estimates.

But it’s programmed by idiots. I mean, these guys are actually pretty stupid compared to the average rock. I’m sorry, it’s a great tool designed by somebody who had a head for project management, but programmed by idiots.

After not using dotproject for a while (after the death of bloodsport colosseum, I had little to track), I got a contract job that really needs careful design. So I jumped back into a semi-recent version of this awesome/disgusting app, and found that it uses overlib for popup help! (No, that isn’t the problem. Overlib is actually really nice for web-based hover-help) But the dotproject devs by default chose to make the popups STICKY. That is, when you hover over a link you think is just a link, a popup shows up that will not go away until you explicitly mouse over the “close” button.

This is revolting.

So I know overlib. I’m not phased a bit. I used it for Bloodsport Colosseum and it’s really a pretty straightforward JS library (a rarity these days). It’s open source, so it probably sucks monkey balls, but as a user of the tool, I liked it.

Overlib has a central area to put all your app’s default preferences for things like font, colors, opacity, and, of course, sticky. To override the defaults, you can actually specify “commands” in your call to the overlib methods, which is handy for special cases.

The dotproject dimwits actually ignored the defaults altogether, and put the exact same preferences into their HTML in seven different places. I’m not sure what can happen to a programmer where they learn the number one failing of software. The first thing you learn in your first CS class is about code reuse. Functions, code centralization, that sort of shit. HOW can somebody be so stupid as to ignore these amazingly simple principles when the library already provides a really easy and central place for this stuff?

Then I remembered my first dotproject disaster – an old version had some broken SQL for calculating the % left on a task, and to fix it I had to change this SQL in 3 or 4 places, and rewrite a couple rather large sections of code.

No, that memory didn’t comfort me, but at least I was able to say, “Oh yeah, they’re just dotproject developers. They didn’t know better.”