The internet isn't a circuit-switched network - when you buy a 10Mbit/sec connection even assuming it's dedicated (which nobody at home can afford), you don't buy a dedicated 10Mbit/sec circuit to every possible website. You buy 10Mbit/sec to your nearest switching center, and from then on out your packets might traverse all kinds of links, some more congested than others.
The rules of TCP ensure all the computers on the network work together to ensure that if one link bottlenecks they all back off a bit and everybody can still get through at reduced speed, instead of seeing massive packet loss, which just hoses everyone. UDP doesn't have that, and it works OK as long as UDP doesn't make up the bulk of data flows on any given link which has always been the case. The uTorrent change might break this system, and that's what the author is concerned about.
BTW, I'd note that the author of TFA is a contributor to the WiFi and Ethernet specs, so I'd think he knows what he's talking about.
The reason they don't do that is nobody understands bandwidth units. Back in the dialup days it was easy - everybody knows what a "minute" is.
These days it's much harder, units like a megabit or gigabyte/month are very hard even for experienced professionals to reason about, as most people don't know how much bandwidth any given application needs. For instance how much bandwidth does XBox Live use? I have no idea.
The obvious solution is to sell people "unlimited" bandwidth and then buy as much as is necessary to fill demand, which you assume stabilises at some natural level - there's only so much web surfing, game playing etc that can be used.
P2P completely breaks this fairly simple setup, because P2P users are quite capable of pegging their connection 24/7 at the max downloading stuff that they often never use (it's pretty amazing how much hoarding these people do).
Given that the alternatives are (a) go out of business, (b) try and teach the world the difference between megabits/sec and gigabytes/month or (c) throttle P2P users specifically is it any wonder most choose C. And by the way contracts almost always state bandwidth limits in them, they are just set high enough that most normal users will never encounter them.
The problem is that P2P traffic is notorious for expanding to fill whatever capacity is thrown at it, which is why it now takes up such a giant amount of backbone capacity. So your "lazy ISPs should upgrade the darn infrastructure" argument isn't that convincing, I expect them to do so and then I expect BitTorrent users to fill those links immediately with more crap that they download and then never watch/install/use.
I needed one to move to Switzerland. I believe in a few years this requirement will be dropped for EU citizens as the Swiss fully integrate with the open borders system. I thought you also needed one to get an H1B for the US. Might be wrong though.
Yes, Google have a policy that for engineering a CS degree is desirable but not required. There are exceptions, for instance, if you want/need to move to another country and that country requires a degree for immigration purposes. However the company itself does not require any qualifications other than the ability to pass interviews. I've clarified this with senior eng management before.
Yeah, that sort of assertion bugs me. My own experience has been the exact opposite - attempting to understand large Python programs that have evolved over a number of years is damn near impossible. I know, I've tried. The terseness of the language and the absolute lack of explicit typing means you can't just open up a random function and understand what's going on. You often have to trace backwards through the code just to discover what it's attempting to do.
Typically Python programmers try and paper over this problem with tons of doc comments. Problem is that like any comment, they can get out of date, and often aren't useful anyway. If I had a dollar for every time I've seen:
foo: The foo to bar.
in a Python doc comment, I'd be a rich guy. What is a foo exactly? A class? A tuple? A list of tuples of classes? Or worse, any of the above?
In contrast, I've found it very easy to dive right into some of the large C++ code bases we have at work and immediately understand what the code does and how it does it, largely because C++ is more explicit and the (partly redundant) specification of type information means you can rapidly find how different components interact. Redundant comments are kept to a minimum. Comprehension is radically improved.
This is very useful when attempting to understand error messages, for instance. My absolute worst nightmare troubleshooting wise is running a giant Python script and getting a type error 20 frames deep, because I know it could easily burn an afternoon just untangling the mess. More explicit languages rarely seem to have this problem.
I'm all for studying subjects for the intrinsic interest or entertainment value of learning. Studying subjects at school is completely different, because you're forced to do exams at the end, and the cost of failure is HIGH! Goal oriented? You pretty much have to be.
Obviously not, I taught myself. In the past I've worked on OS level projects (Win32 -> POSIX emulation), I have a healthy interest in type theory and interprocedural compiler optimizations, and I troubleshoot large distributed systems for a living. And yes my CS degree was a waste of time. I don't want to generalise that to all CS degrees of course, but I've seen more than a few people who had the same experience.
Consider that the number of subjects being studied has gone up over time, but the students still only get 2 years for all of them. So I'd expect the subjects to be studied in less depth, that's inevitable if you increase the breadth.
Several universities are introducing entrance exams, whereas previously this was more-or-less exclusive to Oxford and Cambridge.
Yeah but that doesn't tell us anything objective about students skills. Universities, especially in the UK, run on a heirarchical system in which they are all stack-ranked against each other. Let's imagine for the sake of argument that actually, students have been getting objectively better at the subjects every year due to better teaching, better materials and so on. The result would still be entrance exams because universities only have limited capacity, and want to preserve the heirarchy. Thus they must find some way of limiting their intake to a particular slice of the student body. The difficulty of these exams would go up and down over time depending on their capacities.
So I don't accept that universities are objective judges of actual skill. Actually I'd imagine they're shit at it. I went to Durham, which Wikipedia informs me is a "top 10" university according to the Times, and top 20 according to the Guardian. But those guys were the absolute textbook example of incompetence. The CS course in particular was an epic fail - most of the lecturers couldn't program their way out of a paper bag, and didn't care in the slightest if the information given in their lectures was wrong. So they can't have a useful opinion on whether students are getting smarter or not.
Eh, whatever. I did GCSEs, then A-Levels about 6-8 years ago. Then I did a CS degree. Now I have a great job, earn great money way ahead of my old school friends, and can confidently say that almost everything except the GCSEs was a complete waste of time. GCSEs were about right for that age (14-16): study 10 or 11 subjects over a period of two years, so not in a whole lot of depth, but you do get a lot of breadth.
By the time I was 16 I knew I wanted to write software for a living, so did A-Level maths, physics, psychology and an AS in French, because all universities demanded maths and a few wanted physics, then I had a quota to fill so took a couple of other subjects more or less at random. All except maths involved in-depth study of subjects that I have never used again (except maybe a bit of psych 101), and probably never will. Even then, about 80% of the A-Level maths course was also stuff I've never used, and thus largely forgotten.
The CS degree was an even bigger waste of time. I could have stayed in bed for 3 years and come out no worse off.
The problem with the education system is not that GCSEs are not "rigorous" enough, it's that the rest of the system is still rooted in a legacy world in which studying subjects in great depth for their own sake is seen as virtuous and noble. Especially in the sciences, it disproportionately punishes people who find it hard to do complex error-free calculations against the clock, even if their understanding of the subject in question is just fine.
Part of the blame must also lie with universities and employers, who use qualifications like GCSEs and A-Levels as a lazy way to select the "top 10%" of applicants. The top 10% of what was never clear to me, unfortunately, rather than simply interview people for the skills the job needs employers prefer to cut their costs by relying on the education system to do it for them. The inevitable result is that if you fail GCSEs or A-Levels your chances of a good career are basically over, putting enormous pressure on schools to ensure everybody can get at least a few qualifications lest they be automatically pushed out of jobs they could actually do just fine.
Given how completely irrelevant much of what I learned at school has been (and now much is forgotten), I might as well have just watched TV - instead of struggling and getting depressed over my backbreaking but mediocre academic performance.
That was done for a while but got too expensive. Which leads to the question - why can't the top level registrars simply generate all possible names and prevent any of them being registered? They're all garbage so nobody would want them for legitimate reasons anyway.
The first reason it won't work is because the last time a game shipped with mandatory internet activation at the start of every game, people complained that they wanted the play the game offline. Then US soliders in Iraq said, "but we don't have reliable internet in Iraq!". Etc. It also means if the servers go down you piss everybody off.
The second reason it won't work is that you haven't verified that the disc in the drive is actually from your factory and not, say, a CD burner, or a CD drive emulation. So you haven't solved the piracy problem at all. People can still use ISOs. Unfortunately beating emulators requires imposing some fairly draconian rules, or loading kernel modules that try and look for the drivers (which quickly adapt anyway).
The third reason it won't work is that somebody will just remove the authentication code from the game. The biggest part of any DRM system for the PC is actually the anti-debugging part. StarForce was actually compiled down mostly to a custom machine code language that then ran on top of a heavily obfuscated virtual machine - just to make disassembly harder.
PC DRM is an effectively unsolvable problem, because there are so many people who can do x86 reverse engineering out there (it's not hard), because the platform itself doesn't provide any protection, and because expectations are different. It's a lot easier to implement when you can control the hardware, which is why the PS3 has unbroken DRM for 2+ years now, and why breaking the DRM on the Xbox 360 comes with a long list of serious caveats (eg, no xbox live ever again).
Well yeah. What do you expect? If they sit back and say "nothing we can do", then shareholders would look at the 90% piracy rates for PC games and conclude the publishers are effectively running charities. They'd ask hard questions like, why are you even making PC versions at all? Why not just give it away on the streets and ask for donations? Why should we invest our money in your company when your revenue model is "hope enough people are nice and pay us"?
No. You seem to be suffering from the widely held delusion (at least among "content creators") that a pirated copy is a lost sale.
I assume from the way you phrase that you aren't yourself a quote content creator unquote.
Yes, it's common sense that a pirated copy is potentially a lost copy, because clearly that person wanted the game. Maybe they weren't willing to buy it at any price, and maybe they'd be willing to buy it if that were cheaper, but you have to pick some price point and there'll always be such folks. But amongst those pirates there'll definitely be some people who really want the game, and will pirate it if that's convenient and easy (and available quickly) but otherwise will just say, fuck it, and go buy the game.
The existance of these people is provable both through sales figures - various game publishers have revealed stats on piracy rates for PC vs Console and increase in sales when broken DRM was repaired. It's also provable through common sense: companies wouldn't repeatedly and consistently spend money on DRM if they didn't have evidence it made them money. Unless you believe that almost every game developer out there is run by idiots, which clearly isn't the case.
What evidence do you have that DRM can be made secure enough to make a difference? I've yet to see anything convincing from the industry on either of those points.
Now that article is pretty balanced - breaking the keygens only closed one way to pirate the game (cracked copies with the protection code removed were still available), and a 70% increase in sales certainly doesn't equate to eliminating piracy. But it didn't have to.
Your position is one that only makes sense if you assume you are, somehow, much smarter than all the major PC game publishers out there, despite having worse or non-existant access to the statistics you'd need to make a decision. I find that a pretty arrogant position.
Zing, that's correct. The real question these guys should be asking themselves: are we really sure that management and the "sales drones" are fundamentally incompetent, and that we are fundamentally better? What makes them think that 10 years down the road their company would be any different? Perhaps selling a product to lots of different customers is just hard and hosted vs standalone is not, ultimately, such a big deal?
An even better question is why that effort is even necessary. There are no other operating systems outside of Linux in which software distribution requires armies of volunteers to constantly reduplicate each others work.
I've programmed in assembly language. I still would not want to beat even GCC, unless I was competing in a scenario where I knew the compiler was unusually weak.
To beat a modern compiler, amongst other things, you have to be able to consider how the instructions will run in parallel and thus how to interleave them to keep the pipeline from stalling and memory access latencies hidden. You have to have memorized instruction sizes so you don't write crap like "mov %eax, $0" instead of "xor %eax, %eax" and so make inefficient use of icache capacity. You have to understand a ton of ridiculous edge cases around the instructions and their internal implementation - for instance, is BSF really faster than the equivalent manual loop just because it's in hardware? No, it's the same speed, probably the CISC decoder converts it into the equivalent loop internally.
But if you want proof, look at Photoshop, where filters are commonly written in assembly language for performance reasons.
I rather suspect most Photoshop plugins are written in standard C++ with compiler extensions for access to SSE2/3 intrinsics, which gives you the same performance with easier syntax. There's no particular reason to use assembly language any more, not even for performance, unless you're doing operating systems level work or you need to do things that are very unusual, like switching stacks or using a calling convention your compiler doesn't support.
That's a kinda garbled version of how it actually works.
In brief, BluRay is protected by two different mechanisms:
AACS, which gives every player in the world its own revokable key (note: not every player model, every individual unit manufactured). Thus if one unit is cracked, that specific unit can be revoked. If you don't know which unit was cracked, AACS includes "traitor tracing" algorithms that can identify it from the decoded movie.
BD+, which is designed to provide renewable protection, ie, protection that can be repeatedly broken and refixed on a per-title basis.
It's important to realize that every time somebody takes the first step towards breaking a given system, they announce it as "the ultimate crack that cannot ever be repaired". It's just so much better for the ego that way.
However it's misleading. Neither AACS nor BD+ have been cracked forever in the technical sense. Both have been "cracked" using attacks that were predicted ahead of time - the real weakness of AACS on its own is that the AACS Licensing Authority is amazingly slow/reluctant to revoke compromised keys, and force the software player developers to up their game. There have been only a handful (I think 2!) of key revocations in the history of AACS, which is pathetic.
The biggest failing of AACS is that it places security in the hands of those with the least incentive to do it well - player manufacturers who benefit from increased availability of BluRay content, ie, piracy. The theory behind BD+ is to move security into the hands of the studios, who actually have financial motivation to solve it. Thus a BD+ program is unique and can be written specifically for each released title. The investment placed into a BD+ program is decided by the studio ahead of time.
The first BluRay discs shipped with only AACS and no BD+ protection. Later discs shipped with very simple BD+ programs that used only a small part of its capabilities - basically, if they ran at all, they spat out the keys. Thus this could trivially be "cracked" by simply reverse engineering the BD+ specification and implementing a BD+ VM. The programs ran, out popped the keys.
Naturally, this was hailed here on Slashdot as "BD+ is cracked" when in reality the development was anticipated as far back as early 2000, and BD+ has a wealth of features designed to stop exactly that approach.
BD+ programs are gradually getting more sophisticated in a kind of constant arms race. However, whilst software players exist there will be a constant stream of cracks. Fortunately for the studios, most of their sales come shortly after release, so a BD+ program doesn't have to hold strong forever - simply delaying the availability on trackers for a few weeks is enough to make a profit on the technology.
They aren't "rewriting the rules to suit themselves". Just because they use DRM doesn't mean you have to use it on the movies you create yourself. You can upload an MPEG4 of your spectacular home creation and it'll play everywhere.
Your schpiel about "digital being a fundamental choice" is ridiculous. Do you think if all movies came on VHS there'd be no Pirate Bay? Really?
Your assertion that "digital data has one fundamental property - it is easy to copy" is also bogus. There's lots of digital data in the world I cannot access in the form I'd wish. For instance, I cannot generally copy data out of my online banks computers... even if I was to somehow walk into the banks datacenters, I'd hopefully find it tough.
DRM systems that are resistant are hard to build, but the ones based on proprietary hardware tend to last longer than ones which aren't. For instance, the DRM on the PlayStation 3 has lasted for years and has not yet been cracked.
Is this just one of these ideological things where the actual advantages for the user are disregarded?
Yes.
It's actually more about power than ideology. The key people behind Ubuntu, Debian, Fedora and the other major distros all fervently believe that they and they alone should be the gatekeepers of all software run by their users. They see no reason why somebody should be able to get software from somewhere other than them. Thus they see no reason why binary compatibility is needed or useful. Thus being binary compatible with 32 bit binaries is simply a waste of disk space (which is extremely cheap but logic doesn't play into this).
This position is moronic but ubiquitous in the Linux world. It leads to absolute frustration on the part of any developer who actually cares what bits make it into their users hands - the almighty Firefox/Debian smackdown is rooted in this problem. There have been many other problems though: proprietary software like video games or Google Earth rely on huge hacks to make their stuff work, upstream developers like Inkscape get tired of their users running versions of their software obsoleted months ago because no upgrade is available from their distro. It leads to bugs like this one, which boil down to "our packaging policies are too inflexible to give you the features you want". And so on.
It always fascinates me how much criticism Apple has received over their control over the iPhone app store and the arbitrary policies they impose on developers there, but when Linux distributors do exactly the same thing there is only stony silence. Software gets dropped, changed arbitrarily, held back to obsolete versions or denied entry into the repositories entirely, forcing bizarre hacks (try writing down the instructions for running a 3rd party loki installer some time!).
The lack of 32 bit support is just one facet of this ridiculous ideology.
Why aim so low? We have the technology (almost) to let anybody vote on any bill put before the Government. Of course most people wouldn't vote on most issues, as they are often quite inane - at least judging by the UK Parliament. To stop minority interests taking over then, you allow (indeed, enforce) that everybody votes on every issue - but to stop it becoming overwhelming, allow people to delegate their vote to arbitrary other people.
By default then everybodies vote would be delegated to their elected representative, unless they chose to vote themselves. But I could easily set up a more complex scheme, in which my accountant votes for me on matters of tax, I handle technology related votes myself and my representative takes all the rest.
This is actual direct democracy, with the only remaining problem being inability to directly submit legislation from any citizen. There are truly some scalability and social/educational issues with that, but it's what we should aim for.
The internet isn't a circuit-switched network - when you buy a 10Mbit/sec connection even assuming it's dedicated (which nobody at home can afford), you don't buy a dedicated 10Mbit/sec circuit to every possible website. You buy 10Mbit/sec to your nearest switching center, and from then on out your packets might traverse all kinds of links, some more congested than others.
The rules of TCP ensure all the computers on the network work together to ensure that if one link bottlenecks they all back off a bit and everybody can still get through at reduced speed, instead of seeing massive packet loss, which just hoses everyone. UDP doesn't have that, and it works OK as long as UDP doesn't make up the bulk of data flows on any given link which has always been the case. The uTorrent change might break this system, and that's what the author is concerned about.
BTW, I'd note that the author of TFA is a contributor to the WiFi and Ethernet specs, so I'd think he knows what he's talking about.
The reason they don't do that is nobody understands bandwidth units. Back in the dialup days it was easy - everybody knows what a "minute" is.
These days it's much harder, units like a megabit or gigabyte/month are very hard even for experienced professionals to reason about, as most people don't know how much bandwidth any given application needs. For instance how much bandwidth does XBox Live use? I have no idea.
The obvious solution is to sell people "unlimited" bandwidth and then buy as much as is necessary to fill demand, which you assume stabilises at some natural level - there's only so much web surfing, game playing etc that can be used.
P2P completely breaks this fairly simple setup, because P2P users are quite capable of pegging their connection 24/7 at the max downloading stuff that they often never use (it's pretty amazing how much hoarding these people do).
Given that the alternatives are (a) go out of business, (b) try and teach the world the difference between megabits/sec and gigabytes/month or (c) throttle P2P users specifically is it any wonder most choose C. And by the way contracts almost always state bandwidth limits in them, they are just set high enough that most normal users will never encounter them.
The problem is that P2P traffic is notorious for expanding to fill whatever capacity is thrown at it, which is why it now takes up such a giant amount of backbone capacity. So your "lazy ISPs should upgrade the darn infrastructure" argument isn't that convincing, I expect them to do so and then I expect BitTorrent users to fill those links immediately with more crap that they download and then never watch/install/use.
I needed one to move to Switzerland. I believe in a few years this requirement will be dropped for EU citizens as the Swiss fully integrate with the open borders system. I thought you also needed one to get an H1B for the US. Might be wrong though.
Yes, Google have a policy that for engineering a CS degree is desirable but not required. There are exceptions, for instance, if you want/need to move to another country and that country requires a degree for immigration purposes. However the company itself does not require any qualifications other than the ability to pass interviews. I've clarified this with senior eng management before.
wtf? That has to be the most retarded backwards compatibility break I've ever seen.
Yeah, that sort of assertion bugs me. My own experience has been the exact opposite - attempting to understand large Python programs that have evolved over a number of years is damn near impossible. I know, I've tried. The terseness of the language and the absolute lack of explicit typing means you can't just open up a random function and understand what's going on. You often have to trace backwards through the code just to discover what it's attempting to do.
Typically Python programmers try and paper over this problem with tons of doc comments. Problem is that like any comment, they can get out of date, and often aren't useful anyway. If I had a dollar for every time I've seen:
foo: The foo to bar.
in a Python doc comment, I'd be a rich guy. What is a foo exactly? A class? A tuple? A list of tuples of classes? Or worse, any of the above?
In contrast, I've found it very easy to dive right into some of the large C++ code bases we have at work and immediately understand what the code does and how it does it, largely because C++ is more explicit and the (partly redundant) specification of type information means you can rapidly find how different components interact. Redundant comments are kept to a minimum. Comprehension is radically improved.
This is very useful when attempting to understand error messages, for instance. My absolute worst nightmare troubleshooting wise is running a giant Python script and getting a type error 20 frames deep, because I know it could easily burn an afternoon just untangling the mess. More explicit languages rarely seem to have this problem.
I'm all for studying subjects for the intrinsic interest or entertainment value of learning. Studying subjects at school is completely different, because you're forced to do exams at the end, and the cost of failure is HIGH! Goal oriented? You pretty much have to be.
Obviously not, I taught myself. In the past I've worked on OS level projects (Win32 -> POSIX emulation), I have a healthy interest in type theory and interprocedural compiler optimizations, and I troubleshoot large distributed systems for a living. And yes my CS degree was a waste of time. I don't want to generalise that to all CS degrees of course, but I've seen more than a few people who had the same experience.
Consider that the number of subjects being studied has gone up over time, but the students still only get 2 years for all of them. So I'd expect the subjects to be studied in less depth, that's inevitable if you increase the breadth.
Yeah but that doesn't tell us anything objective about students skills. Universities, especially in the UK, run on a heirarchical system in which they are all stack-ranked against each other. Let's imagine for the sake of argument that actually, students have been getting objectively better at the subjects every year due to better teaching, better materials and so on. The result would still be entrance exams because universities only have limited capacity, and want to preserve the heirarchy. Thus they must find some way of limiting their intake to a particular slice of the student body. The difficulty of these exams would go up and down over time depending on their capacities.
So I don't accept that universities are objective judges of actual skill. Actually I'd imagine they're shit at it. I went to Durham, which Wikipedia informs me is a "top 10" university according to the Times, and top 20 according to the Guardian. But those guys were the absolute textbook example of incompetence. The CS course in particular was an epic fail - most of the lecturers couldn't program their way out of a paper bag, and didn't care in the slightest if the information given in their lectures was wrong. So they can't have a useful opinion on whether students are getting smarter or not.
Eh, whatever. I did GCSEs, then A-Levels about 6-8 years ago. Then I did a CS degree. Now I have a great job, earn great money way ahead of my old school friends, and can confidently say that almost everything except the GCSEs was a complete waste of time. GCSEs were about right for that age (14-16): study 10 or 11 subjects over a period of two years, so not in a whole lot of depth, but you do get a lot of breadth.
By the time I was 16 I knew I wanted to write software for a living, so did A-Level maths, physics, psychology and an AS in French, because all universities demanded maths and a few wanted physics, then I had a quota to fill so took a couple of other subjects more or less at random. All except maths involved in-depth study of subjects that I have never used again (except maybe a bit of psych 101), and probably never will. Even then, about 80% of the A-Level maths course was also stuff I've never used, and thus largely forgotten.
The CS degree was an even bigger waste of time. I could have stayed in bed for 3 years and come out no worse off.
The problem with the education system is not that GCSEs are not "rigorous" enough, it's that the rest of the system is still rooted in a legacy world in which studying subjects in great depth for their own sake is seen as virtuous and noble. Especially in the sciences, it disproportionately punishes people who find it hard to do complex error-free calculations against the clock, even if their understanding of the subject in question is just fine.
Part of the blame must also lie with universities and employers, who use qualifications like GCSEs and A-Levels as a lazy way to select the "top 10%" of applicants. The top 10% of what was never clear to me, unfortunately, rather than simply interview people for the skills the job needs employers prefer to cut their costs by relying on the education system to do it for them. The inevitable result is that if you fail GCSEs or A-Levels your chances of a good career are basically over, putting enormous pressure on schools to ensure everybody can get at least a few qualifications lest they be automatically pushed out of jobs they could actually do just fine.
Given how completely irrelevant much of what I learned at school has been (and now much is forgotten), I might as well have just watched TV - instead of struggling and getting depressed over my backbreaking but mediocre academic performance.
That was done for a while but got too expensive. Which leads to the question - why can't the top level registrars simply generate all possible names and prevent any of them being registered? They're all garbage so nobody would want them for legitimate reasons anyway.
Uh, that won't work.
The first reason it won't work is because the last time a game shipped with mandatory internet activation at the start of every game, people complained that they wanted the play the game offline. Then US soliders in Iraq said, "but we don't have reliable internet in Iraq!". Etc. It also means if the servers go down you piss everybody off.
The second reason it won't work is that you haven't verified that the disc in the drive is actually from your factory and not, say, a CD burner, or a CD drive emulation. So you haven't solved the piracy problem at all. People can still use ISOs. Unfortunately beating emulators requires imposing some fairly draconian rules, or loading kernel modules that try and look for the drivers (which quickly adapt anyway).
The third reason it won't work is that somebody will just remove the authentication code from the game. The biggest part of any DRM system for the PC is actually the anti-debugging part. StarForce was actually compiled down mostly to a custom machine code language that then ran on top of a heavily obfuscated virtual machine - just to make disassembly harder.
PC DRM is an effectively unsolvable problem, because there are so many people who can do x86 reverse engineering out there (it's not hard), because the platform itself doesn't provide any protection, and because expectations are different. It's a lot easier to implement when you can control the hardware, which is why the PS3 has unbroken DRM for 2+ years now, and why breaking the DRM on the Xbox 360 comes with a long list of serious caveats (eg, no xbox live ever again).
Well yeah. What do you expect? If they sit back and say "nothing we can do", then shareholders would look at the 90% piracy rates for PC games and conclude the publishers are effectively running charities. They'd ask hard questions like, why are you even making PC versions at all? Why not just give it away on the streets and ask for donations? Why should we invest our money in your company when your revenue model is "hope enough people are nice and pay us"?
I assume from the way you phrase that you aren't yourself a quote content creator unquote.
Yes, it's common sense that a pirated copy is potentially a lost copy, because clearly that person wanted the game. Maybe they weren't willing to buy it at any price, and maybe they'd be willing to buy it if that were cheaper, but you have to pick some price point and there'll always be such folks. But amongst those pirates there'll definitely be some people who really want the game, and will pirate it if that's convenient and easy (and available quickly) but otherwise will just say, fuck it, and go buy the game.
The existance of these people is provable both through sales figures - various game publishers have revealed stats on piracy rates for PC vs Console and increase in sales when broken DRM was repaired. It's also provable through common sense: companies wouldn't repeatedly and consistently spend money on DRM if they didn't have evidence it made them money. Unless you believe that almost every game developer out there is run by idiots, which clearly isn't the case.
Alright. Here's an interview with a game developer who used an extremely weak form of DRM (serial numbers only). Obsoleting the first generation of keygens increased sales by 70% overnight.
Now that article is pretty balanced - breaking the keygens only closed one way to pirate the game (cracked copies with the protection code removed were still available), and a 70% increase in sales certainly doesn't equate to eliminating piracy. But it didn't have to.
Your position is one that only makes sense if you assume you are, somehow, much smarter than all the major PC game publishers out there, despite having worse or non-existant access to the statistics you'd need to make a decision. I find that a pretty arrogant position.
Zing, that's correct. The real question these guys should be asking themselves: are we really sure that management and the "sales drones" are fundamentally incompetent, and that we are fundamentally better? What makes them think that 10 years down the road their company would be any different? Perhaps selling a product to lots of different customers is just hard and hosted vs standalone is not, ultimately, such a big deal?
They should definitely read The Development Abstraction Layer before moving this beyond just talk.
An even better question is why that effort is even necessary. There are no other operating systems outside of Linux in which software distribution requires armies of volunteers to constantly reduplicate each others work.
I've programmed in assembly language. I still would not want to beat even GCC, unless I was competing in a scenario where I knew the compiler was unusually weak.
To beat a modern compiler, amongst other things, you have to be able to consider how the instructions will run in parallel and thus how to interleave them to keep the pipeline from stalling and memory access latencies hidden. You have to have memorized instruction sizes so you don't write crap like "mov %eax, $0" instead of "xor %eax, %eax" and so make inefficient use of icache capacity. You have to understand a ton of ridiculous edge cases around the instructions and their internal implementation - for instance, is BSF really faster than the equivalent manual loop just because it's in hardware? No, it's the same speed, probably the CISC decoder converts it into the equivalent loop internally.
I rather suspect most Photoshop plugins are written in standard C++ with compiler extensions for access to SSE2/3 intrinsics, which gives you the same performance with easier syntax. There's no particular reason to use assembly language any more, not even for performance, unless you're doing operating systems level work or you need to do things that are very unusual, like switching stacks or using a calling convention your compiler doesn't support.
That's a kinda garbled version of how it actually works.
In brief, BluRay is protected by two different mechanisms:
It's important to realize that every time somebody takes the first step towards breaking a given system, they announce it as "the ultimate crack that cannot ever be repaired". It's just so much better for the ego that way.
However it's misleading. Neither AACS nor BD+ have been cracked forever in the technical sense. Both have been "cracked" using attacks that were predicted ahead of time - the real weakness of AACS on its own is that the AACS Licensing Authority is amazingly slow/reluctant to revoke compromised keys, and force the software player developers to up their game. There have been only a handful (I think 2!) of key revocations in the history of AACS, which is pathetic.
The biggest failing of AACS is that it places security in the hands of those with the least incentive to do it well - player manufacturers who benefit from increased availability of BluRay content, ie, piracy. The theory behind BD+ is to move security into the hands of the studios, who actually have financial motivation to solve it. Thus a BD+ program is unique and can be written specifically for each released title. The investment placed into a BD+ program is decided by the studio ahead of time.
The first BluRay discs shipped with only AACS and no BD+ protection. Later discs shipped with very simple BD+ programs that used only a small part of its capabilities - basically, if they ran at all, they spat out the keys. Thus this could trivially be "cracked" by simply reverse engineering the BD+ specification and implementing a BD+ VM. The programs ran, out popped the keys.
Naturally, this was hailed here on Slashdot as "BD+ is cracked" when in reality the development was anticipated as far back as early 2000, and BD+ has a wealth of features designed to stop exactly that approach.
BD+ programs are gradually getting more sophisticated in a kind of constant arms race. However, whilst software players exist there will be a constant stream of cracks. Fortunately for the studios, most of their sales come shortly after release, so a BD+ program doesn't have to hold strong forever - simply delaying the availability on trackers for a few weeks is enough to make a profit on the technology.
They aren't "rewriting the rules to suit themselves". Just because they use DRM doesn't mean you have to use it on the movies you create yourself. You can upload an MPEG4 of your spectacular home creation and it'll play everywhere.
Your schpiel about "digital being a fundamental choice" is ridiculous. Do you think if all movies came on VHS there'd be no Pirate Bay? Really?
Your assertion that "digital data has one fundamental property - it is easy to copy" is also bogus. There's lots of digital data in the world I cannot access in the form I'd wish. For instance, I cannot generally copy data out of my online banks computers ... even if I was to somehow walk into the banks datacenters, I'd hopefully find it tough.
DRM systems that are resistant are hard to build, but the ones based on proprietary hardware tend to last longer than ones which aren't. For instance, the DRM on the PlayStation 3 has lasted for years and has not yet been cracked.
That argument doesn't apply to business connections, nor does it apply to places with competitive internet access.
Yes.
It's actually more about power than ideology. The key people behind Ubuntu, Debian, Fedora and the other major distros all fervently believe that they and they alone should be the gatekeepers of all software run by their users. They see no reason why somebody should be able to get software from somewhere other than them. Thus they see no reason why binary compatibility is needed or useful. Thus being binary compatible with 32 bit binaries is simply a waste of disk space (which is extremely cheap but logic doesn't play into this).
This position is moronic but ubiquitous in the Linux world. It leads to absolute frustration on the part of any developer who actually cares what bits make it into their users hands - the almighty Firefox/Debian smackdown is rooted in this problem. There have been many other problems though: proprietary software like video games or Google Earth rely on huge hacks to make their stuff work, upstream developers like Inkscape get tired of their users running versions of their software obsoleted months ago because no upgrade is available from their distro. It leads to bugs like this one, which boil down to "our packaging policies are too inflexible to give you the features you want". And so on.
It always fascinates me how much criticism Apple has received over their control over the iPhone app store and the arbitrary policies they impose on developers there, but when Linux distributors do exactly the same thing there is only stony silence. Software gets dropped, changed arbitrarily, held back to obsolete versions or denied entry into the repositories entirely, forcing bizarre hacks (try writing down the instructions for running a 3rd party loki installer some time!).
The lack of 32 bit support is just one facet of this ridiculous ideology.
Thanks, that's interesting. I live in Zurich, didn't realise there was research being done right up the road. I'll check it out.
Why aim so low? We have the technology (almost) to let anybody vote on any bill put before the Government. Of course most people wouldn't vote on most issues, as they are often quite inane - at least judging by the UK Parliament. To stop minority interests taking over then, you allow (indeed, enforce) that everybody votes on every issue - but to stop it becoming overwhelming, allow people to delegate their vote to arbitrary other people.
By default then everybodies vote would be delegated to their elected representative, unless they chose to vote themselves. But I could easily set up a more complex scheme, in which my accountant votes for me on matters of tax, I handle technology related votes myself and my representative takes all the rest.
This is actual direct democracy, with the only remaining problem being inability to directly submit legislation from any citizen. There are truly some scalability and social/educational issues with that, but it's what we should aim for.