One interesting aspect is that because they partition the hard disk in such way that all primary partitions are filled with data, the recovery disk in the original hard disk makes installing dualboot linux considerably more difficult. For example ubuntu in these machines will just fail at installation and user will need to resize and move and delete original partitions to get extended partition available. It's quite easy to learn to how to do it, but it definitely prevents large number of end users to install dualboot linux on their machines. Instead they will need to opt either to keep windows only or linux only... Cannot get both. Guess they try to make it more difficult to install linux...
You have to understand that the "winning" design gets any money is already very generous. If we compare it to GPL and free software model, where such winners just does not exists. Everyone is a loser. Internet makes these "everyone loses" models work because once people realise the problems in the schemes, there will be another people lining up to do the work...
It'd go more like this:
1) riaa takes a loan to pay some artists to create some music
2) then they find out that all the music is available on competitors systems(==computers)
3) since the competitor did nothing wrong, they have no other choice than sue end users
4) the end users are all different and use whatever products that are available
5) so the master plan is to search bad people from the competitor's systems and sue them for not choosing products correctly
6) to manage the lawsuits, all you need is quick way to generate paperwork and follow some predefined plan
7) then send letters to whoever was found using competitor's systems asking for $3000 for a chance to avoid $120k judgement
8) the 120k claim was obviously based on their loan in step (1)
9) if any of the end users decide to get a lawyer, increase settlement money amount until they cannot pay more 10) after piles of paperwork and end users running in the maze, make them admit they did xxx things wrong in hope for faster exit 11) since they admit doing a wrong thing, the 120k claim can be attached to just this one end user 12) make the 120k smaller so that end users can choose better route in the maze 13) ??? 14) ??? 15) ??? 16) ??? 17) profit
It's all about the step (1). (sorry if my numbers are wrong.)
My guess is that the person had a contract with publisher which says that he's not allowed to give further licenses to his own work, and he just followed his contract when he denied this poor kid chance to impress his friends. So he really didn't have a choice. The copyright owner's wish is not always what it seems.
Obviously anyone preserving those games will need permission from original authors. Good web sites just ask for the permission... Guess it's a small job tracking down people who actually wrote the games, but there are sites like that existing and they do ask for the permissions..
The only problems will be finding all the persons needed. Many game authors have contracts with publishers that are exclusive, so the number of people that need to be found to do this is quite large. There often is not any single person that can give those needed permissions, but it need to be done together with author and the publisher.
Here's potential problems Gcc folks will encounter when they start to implement this nice plan:
1) Defining the rules will be difficult
2) Enforcing the subset of C++ is impossible
3) Every C++ developer will think _all_ of C++ is ok since they allow _some_ C++ code.
4) Next day they receive 10000 patches which all break the rules
5) They do not have enough resources to reject all "improvements"
6) They will have a flame war about the rules and whether sibling calls and dreaded diamond inheritance should be allowed
7) Their use of STL creates problems with compile times
8) Many developers leave because they don't want to wait for compiles (compared to just writing code)
9) A central header file will #include vector, map and iostream just so that they do not need to #include them everywhere, making compile times even worse 10) The new features that are actually approved to be used are misused 11) Use of classes and pointers will create a dependency mess 12) Their final approved C++ feature list will look like this:
a) classes
b) single inheritance
c) constructors/destructors
d) reference parameters
e) forward declarations
f) pure virtual functions 13) Passing this-pointers through C code callbacks will be problematic 14) The project will be declared failure, C++ blamed 15) Linus becomes a C++ programmer
it was never any problem to write the same code for multiple platforms. Even the good old c/c++ works just fine for that. The real trouble is that it's very difficult to get it compiled on all platforms and environments, given that you only have access to one of the platforms.
If you just avoid frameworks tied to specific platform, and only use libraries that are portable, using the same codebase for all platforms is very simple. Most developers do not do that simply because they do not have access to all the platforms necessary. It needs group effort to compile it to other platforms, so it only gets done with enough interest to your project and availability of the source code.
free software is full of portable libraries. And we have portable languages like C and C++. And then you just need access to each platform compilers... java tries to solve that by making so dragonian restrictions that binaries are portable. It fails because you cannot use any existing C/C++ libraries with it. They end up with just yet another fragmented platform which is completely incompatible with rest of the world.
The real solution to portability must come from the programmers themselves, not from random platforms and frameworks. The programmers need to learn to isolate existing libraries and dependencies so that they're replaceable, in case the platform dies or the lib gets replaced by a better alternative. And then it just takes some effort to compile the code to each platform.
the problem with portable platforms and frameworks is that next year someone invents new platform that doesn't follow the rules of your portable stuff. And the new shiny thing breaks your portability if you only relied existing portable platform or framework's portability. for example, java is not being ported to any of the new platforms(think.net & c#) that are coming out because it's lots of work to port it with enough quality that java applications actually look good with the new environments. And who wants a platform that is only good because it runs existing java apps poorly.
Truly portable really needs programmers to think about what they're doing. Avoiding relying on stuff that is known to be nonportable. Even with that, it's difficult to know what to rely on.
In general, the new stuff is always portable at the beginning. this is because it's developers had access to the existing platforms. But once it gets older, new platforms and frameworks will break it's portability. And in the end people start to think the new platforms are more portable because it works better with the new shiny platforms. So in the end we need to change our target. Yesturday it was c/c++ providing portability. Now all that work is wasted because java supposedly provides better portability. then C# broke java's portability by not implementing java on that platform(==java cannot use the new shiny.net libraries). So all work done for java is wasted because people are moving to C#. And C# is tied to windows. So we never really had any portability. Just frameworks and platforms that try to compete with each other.
It's a bad sign when your code starts using someone elses conventions and not your own. It's a sign of a platform frameworks which will transform your app tied to that specific platform. Java is just another platform. It never provided any portability. Same with javascript (it ties to web).
Languages are the newest way to tie programmers to single platform. Implementing a language takes so much effort that owning one is very large control point for the companies that build those languages. Programmers are heavily tied to those languages because it takes large amount of time to learn one. And if it's not available on all platforms, all that effort benefits only that one platform.
Truly portable doesnt exists. There are just old and new platforms and frameworks. The more dependencies it has, and the more it uses external stuff, the more likely it'll break when the next platform comes. It
| We also had more meetings to discuss the chairs | at the office we were moving to than we did | about the database design of the system we were | creating.
Experienced programmers just do not need handholding with database design. There is no reason to discuss the design - everyone is expected to figure it out themselves. On the other hand, chairs are important topic where everyone has their own opinion and if people's opinions are not respected, then it causes bad blood among people, especially if someone next chair has better one than yourself. So chairs definitely need more discussion than something everyone used their life learning how to do it.
I think the story is that if they did it years ago, they might be still doing it now... Now the name of the illegal stuff is just different. (called copyright)
reading the code is no good. Instead should learn what their class names and function prototypes are. You can get pretty good picture of the code just by looking at the functions.
Steps to make it work:
1) at age 8, refuse to buy games
2) tell that need to create it yourself if one wants games
3) provide necessary tools to build it
4) provide computer Rest will happen automatically. Should be careful with disappointments that happen when the game is completely ready, but noone else wants it. It's the process of creating it that is most interesting and handling complexity and deciding what aspects makes the game interesting -- anything outside that process is boring.
I can immediately see other good uses of this:
1) unused hard disk space
2) unused usb sticks Unfortunately there is no way to know how much unused hard disk space we have. But it's very big number...
This action sounds like they're trying to prevent at&t to get unfair advantage over selling stuffs they have no intention to provide service for. They probably bundled minutes with some product and most of their customers payed for the service, but never intended to use it. So at&t got unfair compensation for selling bogus service.
If practises like this are not removed, the market will be full of gift cards and calling cards, with most of the people's money going to something they're not going to use. It sounds pretty good principle that when money changes hands, there is equivalent service or valuable stuff going the other way. Bogus services where this is not true should be removed from the marketplace. Guess unused calling cards have this kind of thing that money moves but service does not. At&t's competitors who do not have similar practices will be in disadvantage for not scamming their customers.
So sounds like very reasonable action by the government. At least if they already have laws they can use for it! (they didn't invent the law just for this at&t's case:-)
We should think about the reason why developers clone someone elses product. It can cut down amount of work by half, if you just look how someone else combined the elements required for a game, and then implement exactly those modules that were present in the original. It reduces creativity to do so, and thus cuts down the state space that needs to be managed to get it fully working. Most professional developers can immediately see from existing software product what software modules were required to implement it. This makes it attractive for those that want to create something bigger than what they have resources to do.
Games take huge amount of effort to build. With 2 years of work, you cannot expect to get a very popular game. Clones of games are mostly useful for implementing the same game for more than one platform by the original developer, or his publisher. In fact I've seen publishers buy original games from their developers, and then build clones of it for different platforms to build a better product to sell on the market. The fact is that a game will not be successful if it is not available via multiple channels which provide network effects.
If you build an exact clone of someone elses product, you should have a permission from original author. Otherwise you'll end up in trouble. Just because original author has not decided to utilize some platform or market area, does not mean that you can fill that market with your custom clone. My understanding is that these issues are mostly important for commercial publishers of products. But in the end, the developers will get burned if they decide to build a clone, since no publisher is able to sell a clone against wishes of original authors.
Exclusive copyright contracts between publishers and authors makes the situation a little strange. The original author is unable to improve the product and resell it via different channel or platform -- only the publisher can build a clone or improved versions of it. So many platforms will never see a version of the product and developers are prevented from making their work available in multiple market areas. Publishers need a permission from original author, but they often insist on exclusive contracts. In a big world like ours and universal copyability of software, restricting products to just one market area where that single publisher is present seems a little waste. If you're a developer and have used several years of your time to build a software product, and then all the work is wasted because of exclusive contract between publisher and developer, it does not seem very efficient use of resources.
But probably there was a good reason why this system works like this. I just don't know what that reason is. But I trust the government to fix the system once they see there is a problem. Not just follow the advice of those that shout loudest, but also think the system as a whole. Every player is contributing something important to the process of producing digital works. They all have a role in it, and we developers don't need to understand it fully to be part of it.
There seems to be several issues here:
1) they say they keep it secret to make sure it gets passed.
2) but this has big problems that it denies the ordinary people who will need to follow the law a chance to tell what they think of it _before_ it gets passed.
3) in ideal world the people making decisions have done their homework and asked ordinary people and _all_ interest groups what they think of the law. This should be easy to implement via internet.
The secrecy is not a good thing. How can they decide who is worthy enough to modify the text of it?
The whole idea of millions of people being criminals because they use internet is ridiculous. Copyright should be changed to make sure that there are no provisions making "default" uses like copying and distributing bits found from the internet illegal. Question to ask is this: if you find some work from internet, what steps do you need to do to receive valid permission to use and share that work on internet? Contacting _all_ copyright owners of the work is clearly not suitable solution, because finding them all might be impossible, and even if you find them, every one of them is unlikely to agree on your request. And doing this for every bit that you find from internet is clearly impossible. There needs to be a solution where individual end users can be confident that what they're doing with the internet is legal. Currently such mechanism is missing. Even web use (reading news sites) or publishing material that you created yourself is extreamly risky, because current laws make some use, copying and distribution acts illegal by default. Everything you do on internet relies on copying bits from one computer to another, and the default being that this is illegal is not very good. We should count the number of criminals these laws are creating and decide that the actions are not serious enough that it should be used as basis of making half the population criminals.
well, but if EPA puts their weight to the climate change hype, they will lose all their credibility as an objective organisation. Then it'll be doubly more difficult to get their next restriction to be passed, when people remember how little the climate change restrictions helped, and how much it cost to the businesses. Next time the restrictions might be actually important to enforce - like maybe people are dying and they want to restrict availability of those substances. But with climate change that has no effect whatsoever to lives of ordinary people, they will just lose their credibility.
One interesting aspect is that because they partition the hard disk in such way that all primary partitions are filled with data, the recovery disk in the original hard disk makes installing dualboot linux considerably more difficult. For example ubuntu in these machines will just fail at installation and user will need to resize and move and delete original partitions to get extended partition available. It's quite easy to learn to how to do it, but it definitely prevents large number of end users to install dualboot linux on their machines. Instead they will need to opt either to keep windows only or linux only... Cannot get both. Guess they try to make it more difficult to install linux...
How many tickets will they get if someone submits the same pic several times?
You have to understand that the "winning" design gets any money is already very generous. If we compare it to GPL and free software model, where such winners just does not exists. Everyone is a loser. Internet makes these "everyone loses" models work because once people realise the problems in the schemes, there will be another people lining up to do the work...
It'd go more like this:
1) riaa takes a loan to pay some artists to create some music
2) then they find out that all the music is available on competitors systems(==computers)
3) since the competitor did nothing wrong, they have no other choice than sue end users
4) the end users are all different and use whatever products that are available
5) so the master plan is to search bad people from the competitor's systems and sue them for not choosing products correctly
6) to manage the lawsuits, all you need is quick way to generate paperwork and follow some predefined plan
7) then send letters to whoever was found using competitor's systems asking for $3000 for a chance to avoid $120k judgement
8) the 120k claim was obviously based on their loan in step (1)
9) if any of the end users decide to get a lawyer, increase settlement money amount until they cannot pay more
10) after piles of paperwork and end users running in the maze, make them admit they did xxx things wrong in hope for faster exit
11) since they admit doing a wrong thing, the 120k claim can be attached to just this one end user
12) make the 120k smaller so that end users can choose better route in the maze
13) ???
14) ???
15) ???
16) ???
17) profit
It's all about the step (1). (sorry if my numbers are wrong.)
My guess is that the person had a contract with publisher which says that he's not allowed to give further licenses to his own work, and he just followed his contract when he denied this poor kid chance to impress his friends. So he really didn't have a choice. The copyright owner's wish is not always what it seems.
Obviously anyone preserving those games will need permission from original authors. Good web sites just ask for the permission... Guess it's a small job tracking down people who actually wrote the games, but there are sites like that existing and they do ask for the permissions..
The only problems will be finding all the persons needed. Many game authors have contracts with publishers that are exclusive, so the number of people that need to be found to do this is quite large. There often is not any single person that can give those needed permissions, but it need to be done together with author and the publisher.
Here's potential problems Gcc folks will encounter when they start to implement this nice plan:
1) Defining the rules will be difficult
2) Enforcing the subset of C++ is impossible
3) Every C++ developer will think _all_ of C++ is ok since they allow _some_ C++ code.
4) Next day they receive 10000 patches which all break the rules
5) They do not have enough resources to reject all "improvements"
6) They will have a flame war about the rules and whether sibling calls and dreaded diamond inheritance should be allowed
7) Their use of STL creates problems with compile times
8) Many developers leave because they don't want to wait for compiles (compared to just writing code)
9) A central header file will #include vector, map and iostream just so that they do not need to #include them everywhere, making compile times even worse
10) The new features that are actually approved to be used are misused
11) Use of classes and pointers will create a dependency mess
12) Their final approved C++ feature list will look like this:
a) classes
b) single inheritance
c) constructors/destructors
d) reference parameters
e) forward declarations
f) pure virtual functions
13) Passing this-pointers through C code callbacks will be problematic
14) The project will be declared failure, C++ blamed
15) Linus becomes a C++ programmer
well, rest of the world do not learn these things from school or from teachers..
I mean we have tv and plenty of science programming in it. Everyone learns these things long before school has chance to educate us.
it was never any problem to write the same code for multiple platforms. Even the good old c/c++ works just fine for that. The real trouble is that it's very difficult to get it compiled on all platforms and environments, given that you only have access to one of the platforms.
If you just avoid frameworks tied to specific platform, and only use libraries that are portable, using the same codebase for all platforms is very simple. Most developers do not do that simply because they do not have access to all the platforms necessary. It needs group effort to compile it to other platforms, so it only gets done with enough interest to your project and availability of the source code.
free software is full of portable libraries. And we have portable languages like C and C++. And then you just need access to each platform compilers... java tries to solve that by making so dragonian restrictions that binaries are portable. It fails because you cannot use any existing C/C++ libraries with it. They end up with just yet another fragmented platform which is completely incompatible with rest of the world.
The real solution to portability must come from the programmers themselves, not from random platforms and frameworks. The programmers need to learn to isolate existing libraries and dependencies so that they're replaceable, in case the platform dies or the lib gets replaced by a better alternative. And then it just takes some effort to compile the code to each platform.
the problem with portable platforms and frameworks is that next year someone invents new platform that doesn't follow the rules of your portable stuff. And the new shiny thing breaks your portability if you only relied existing portable platform or framework's portability. for example, java is not being ported to any of the new platforms(think .net & c#) that are coming out because it's lots of work to port it with enough quality that java applications actually look good with the new environments. And who wants a platform that is only good because it runs existing java apps poorly.
Truly portable really needs programmers to think about what they're doing. Avoiding relying on stuff that is known to be nonportable. Even with that, it's difficult to know what to rely on.
In general, the new stuff is always portable at the beginning. this is because it's developers had access to the existing platforms. But once it gets older, new platforms and frameworks will break it's portability. And in the end people start to think the new platforms are more portable because it works better with the new shiny platforms. So in the end we need to change our target. Yesturday it was c/c++ providing portability. Now all that work is wasted because java supposedly provides better portability. then C# broke java's portability by not implementing java on that platform(==java cannot use the new shiny .net libraries). So all work done for java is wasted because people are moving to C#. And C# is tied to windows. So we never really had any portability. Just frameworks and platforms that try to compete with each other.
It's a bad sign when your code starts using someone elses conventions and not your own. It's a sign of a platform frameworks which will transform your app tied to that specific platform. Java is just another platform. It never provided any portability. Same with javascript (it ties to web).
Languages are the newest way to tie programmers to single platform. Implementing a language takes so much effort that owning one is very large control point for the companies that build those languages. Programmers are heavily tied to those languages because it takes large amount of time to learn one. And if it's not available on all platforms, all that effort benefits only that one platform.
Truly portable doesnt exists. There are just old and new platforms and frameworks. The more dependencies it has, and the more it uses external stuff, the more likely it'll break when the next platform comes. It
| We also had more meetings to discuss the chairs
| at the office we were moving to than we did
| about the database design of the system we were
| creating.
Experienced programmers just do not need handholding with database design. There is no reason to discuss the design - everyone is expected to figure it out themselves. On the other hand, chairs are important topic where everyone has their own opinion and if people's opinions are not respected, then it causes bad blood among people, especially if someone next chair has better one than yourself. So chairs definitely need more discussion than something everyone used their life learning how to do it.
I think the story is that if they did it years ago, they might be still doing it now... Now the name of the illegal stuff is just different. (called copyright)
reading the code is no good. Instead should learn what their class names and function prototypes are. You can get pretty good picture of the code just by looking at the functions.
Steps to make it work:
1) at age 8, refuse to buy games
2) tell that need to create it yourself if one wants games
3) provide necessary tools to build it
4) provide computer
Rest will happen automatically. Should be careful with disappointments that happen when the game is completely ready, but noone else wants it. It's the process of creating it that is most interesting and handling complexity and deciding what aspects makes the game interesting -- anything outside that process is boring.
Is Higgs Boson still needed?
Only if it happens to work correctly.
I can immediately see other good uses of this:
1) unused hard disk space
2) unused usb sticks
Unfortunately there is no way to know how much unused hard disk space we have. But it's very big number...
This action sounds like they're trying to prevent at&t to get unfair advantage over selling stuffs they have no intention to provide service for. They probably bundled minutes with some product and most of their customers payed for the service, but never intended to use it. So at&t got unfair compensation for selling bogus service.
If practises like this are not removed, the market will be full of gift cards and calling cards, with most of the people's money going to something they're not going to use. It sounds pretty good principle that when money changes hands, there is equivalent service or valuable stuff going the other way. Bogus services where this is not true should be removed from the marketplace. Guess unused calling cards have this kind of thing that money moves but service does not. At&t's competitors who do not have similar practices will be in disadvantage for not scamming their customers.
So sounds like very reasonable action by the government. At least if they already have laws they can use for it! (they didn't invent the law just for this at&t's case :-)
It's a sad day when programmers cannot think any other reason to use c++ than some crackpot global warming co2 theory that doesn't hold water.
We should think about the reason why developers clone someone elses product. It can cut down amount of work by half, if you just look how someone else combined the elements required for a game, and then implement exactly those modules that were present in the original. It reduces creativity to do so, and thus cuts down the state space that needs to be managed to get it fully working. Most professional developers can immediately see from existing software product what software modules were required to implement it. This makes it attractive for those that want to create something bigger than what they have resources to do.
Games take huge amount of effort to build. With 2 years of work, you cannot expect to get a very popular game. Clones of games are mostly useful for implementing the same game for more than one platform by the original developer, or his publisher. In fact I've seen publishers buy original games from their developers, and then build clones of it for different platforms to build a better product to sell on the market. The fact is that a game will not be successful if it is not available via multiple channels which provide network effects.
If you build an exact clone of someone elses product, you should have a permission from original author. Otherwise you'll end up in trouble. Just because original author has not decided to utilize some platform or market area, does not mean that you can fill that market with your custom clone. My understanding is that these issues are mostly important for commercial publishers of products. But in the end, the developers will get burned if they decide to build a clone, since no publisher is able to sell a clone against wishes of original authors.
Exclusive copyright contracts between publishers and authors makes the situation a little strange. The original author is unable to improve the product and resell it via different channel or platform -- only the publisher can build a clone or improved versions of it. So many platforms will never see a version of the product and developers are prevented from making their work available in multiple market areas. Publishers need a permission from original author, but they often insist on exclusive contracts. In a big world like ours and universal copyability of software, restricting products to just one market area where that single publisher is present seems a little waste. If you're a developer and have used several years of your time to build a software product, and then all the work is wasted because of exclusive contract between publisher and developer, it does not seem very efficient use of resources.
But probably there was a good reason why this system works like this. I just don't know what that reason is. But I trust the government to fix the system once they see there is a problem. Not just follow the advice of those that shout loudest, but also think the system as a whole. Every player is contributing something important to the process of producing digital works. They all have a role in it, and we developers don't need to understand it fully to be part of it.
There seems to be several issues here:
1) they say they keep it secret to make sure it gets passed.
2) but this has big problems that it denies the ordinary people who will need to follow the law a chance to tell what they think of it _before_ it gets passed.
3) in ideal world the people making decisions have done their homework and asked ordinary people and _all_ interest groups what they think of the law. This should be easy to implement via internet.
The secrecy is not a good thing. How can they decide who is worthy enough to modify the text of it?
I don't think slashdot is correct place to handle issues like this.
GEB.
Do you have a solution for this messed-up situation?
Refusing to publish should work. But it's only temporary solution.
Some smart people seem to list all references in bibliography section of their work. Others seem to try to remove anything that looks bad.
But requirements before publishing seems to be very strict. Can you be sure noone else owns part of it?
The whole idea of millions of people being criminals because they use internet is ridiculous. Copyright should be changed to make sure that there are no provisions making "default" uses like copying and distributing bits found from the internet illegal. Question to ask is this: if you find some work from internet, what steps do you need to do to receive valid permission to use and share that work on internet? Contacting _all_ copyright owners of the work is clearly not suitable solution, because finding them all might be impossible, and even if you find them, every one of them is unlikely to agree on your request. And doing this for every bit that you find from internet is clearly impossible. There needs to be a solution where individual end users can be confident that what they're doing with the internet is legal. Currently such mechanism is missing. Even web use (reading news sites) or publishing material that you created yourself is extreamly risky, because current laws make some use, copying and distribution acts illegal by default. Everything you do on internet relies on copying bits from one computer to another, and the default being that this is illegal is not very good. We should count the number of criminals these laws are creating and decide that the actions are not serious enough that it should be used as basis of making half the population criminals.
well, but if EPA puts their weight to the climate change hype, they will lose all their credibility as an objective organisation. Then it'll be doubly more difficult to get their next restriction to be passed, when people remember how little the climate change restrictions helped, and how much it cost to the businesses. Next time the restrictions might be actually important to enforce - like maybe people are dying and they want to restrict availability of those substances. But with climate change that has no effect whatsoever to lives of ordinary people, they will just lose their credibility.