Well it came up in some port code from another language so it defiantly isn't an every day occurrence.
The problem is if you store some opaque data as say an object reference. Then make explicit cast accessors to get at the object as some value type. If you then call a mutator on the valuetype, you change a temporary version that was made for the cast instead of the underlying object.
Regardless porting c++ to c# is rife with all sorts of nice gems. Properties have the same issue in this specific case.
... Value types, these are structs that are not wrapped in an object
yeah these can get "fun" with auto boxing and properties
... Platform-invoke allows developers to call native code without having to write any glue in C++ using JNI, it can all be done in the managed language.
no support on the phone for this
... Unsafe code (pointers) to support C++, Cobol and Fortran compilers running on the CLI
not on the phone eaither
.. Native support for talking to COM-based APIs. Although mostly Windows-specific, its used to talk to Mozilla, VirtualBox and OpenOffice APIs in Linux.
not on the phone
... Covariance and contravariance introduced with.NET 4 make even more generic cases a pleasure to use.
sorta nice but you don't get the cut and paste power of c++ templates. Also the phone is locked at some bastardized version of 3.. you don't get many of the 4 features. This may possibly change in the future.
Another benefit of for is they've made a dynamic invocation system, so at runtime you can intercept function lookups, which will be pretty nifty for making scripting languages. Again the phone is lacking this atm.
http://www.google.com/patents?vid=USPAT7251653
From what I can derive from the claims. They patented database stored views? They do have the magic wort Piviot in there.. whatever that means. All I can derive from the pivot table is, its another table defined by table data. Not like every database in existence is implemented this way already.
[rambling]
For one thing making a game is way more involved then making a website. There are lots of opportunities to work with algorithms (AI being a big one). Usually games don't have much of a framework to work with, as compared to say business apps. So you're left to devising your own systems for data and organization, which I feel is good for learning. The frameworks that are out there will give you nice easy hardware access; which is more gentle then it used to be.
As someone mentioned above, making UIs can be a killer, its freaking tedious and in the real world usually you have a designer for this. Although some people have this skill some what naturally, usually programmers end up making the most simple ugly UI possible that is functional, but not obvious to anyone but them.
[/rambling]
Basiclly if you put it in for free, they may use it they may not. If the kid needed it later they'd try to find it. We opted for that but there wasn't enough in the cord anyway so it was all moot.
You brand your product with a trademark, and promote the brand. Everyone else is just a copy, you get the nod for coming up with it. Also you have marketing lead time in this case.
Why does having a good idea preclude you from having competition? Isn't the consumer better served by it?
Yeah we can't take a crap near our phone without going through Verizon. Sure it has bluetooth, but you can only use it for a headset. No getting pics off/on or sounds off/on it. Usually someone will release a data cable that can go into a usb port, then you can kind of mess with on your comp, but that is extra $$.
In the near future it sounds like I'll be able to buy whatever and get it to work on their network though. Due to all this 700mhz band being auctioned and Google trying to buy it up.
Off topic, but I could see them doing this and the FSF probably wouldn't care. They'd just separate out the Tivo proprietary chunk and run it in another vm (on bsd or something) that is locked down, and communicate over shared mem, guess they could use TCP/IP too. The normal system side would just run some version of linux and users could probably modify to their hearts content. Its a win win in my book.
Working as a contractor I frequently see projects like:
Take all our word docs and make them search able on our Intranet.
Rip this out of and put it over .
PDF sucks for stuff like that. Its a frame buffer and doesn't lend itself to these types of things. Sure some PDFs are all right its all about what generated it but, in general its not that fun.
You can't do that.. that is modify the license of code you didn't write. You have to leave the dual license provision in there. So it may be in linux and be distributed as GPL2, but the provision is still in the code so that someone at a later date can rip it out the BSD parts and distribute them as BSD.
People are flipping out without understanding the issues.
Dual license means, you can abide by one of them, which ever you want. You can't take out/alter the verbiage of license itself, and when you pass this code downstream the verbiage needs to be intact.
If you write/rewrite a significant portion then if you want that code to be distributed under only one of the two licenses you got the main body of the code under, you should probably stick it in another file to be unambiguous and put your license at the top of that, or somehow mark your portion of code and what license it should follow. In this case your code would have to be BSD or GPL2 though, considering you couldn't distribute the rest of the code you originally got unless it was one of those.
I'm guessing that the guy who cause all of this just got the wrong idea about what dual licensing meant and was trying to clean up what he thought was redundant verbiage (aka the BSD license) at the top of the file.
He is doing it for the children. M$+Intel can compete unfairly against him, probably by paying off government officials. The people don't get to make this decision of which they want the, governments are. OLPC needs the volume to bring down the cost of production. M$+Intel are screwing this up just to protect their market share and giving half a thought as to what they're really providing. If you look at OLPC its much more then just hardware, everything is structured around learning on it.
They're doing it to farm money/items to sell. Leveling is easy enough, although it can get boring going through the same content with different characters.
According to Wikipedia, Column Oriented is better for reads, meaning OLAP(data warehousing) slower on writes, so not so good on OLTP. The idea being since columns are stored in different files, and queries usually don't want every column, so you only have to look at some of the files and not all of them.
Go read their faq. This system is better and simpler. It even allows potentially for ballots to be reconstructed from the receipts if the polling place was blown of the face of the earth.
Well it came up in some port code from another language so it defiantly isn't an every day occurrence.
The problem is if you store some opaque data as say an object reference. Then make explicit cast accessors to get at the object as some value type. If you then call a mutator on the valuetype, you change a temporary version that was made for the cast instead of the underlying object.
Regardless porting c++ to c# is rife with all sorts of nice gems. Properties have the same issue in this specific case.
... Value types, these are structs that are not wrapped in an object
... Platform-invoke allows developers to call native code without having to write any glue in C++ using JNI, it can all be done in the managed language.
... Unsafe code (pointers) to support C++, Cobol and Fortran compilers running on the CLI
.. Native support for talking to COM-based APIs. Although mostly Windows-specific, its used to talk to Mozilla, VirtualBox and OpenOffice APIs in Linux.
... Covariance and contravariance introduced with .NET 4 make even more generic cases a pleasure to use.
yeah these can get "fun" with auto boxing and properties
no support on the phone for this
not on the phone eaither
not on the phone
sorta nice but you don't get the cut and paste power of c++ templates. Also the phone is locked at some bastardized version of 3.. you don't get many of the 4 features. This may possibly change in the future.
Another benefit of for is they've made a dynamic invocation system, so at runtime you can intercept function lookups, which will be pretty nifty for making scripting languages. Again the phone is lacking this atm.
http://www.google.com/patents?vid=USPAT7251653 From what I can derive from the claims. They patented database stored views? They do have the magic wort Piviot in there.. whatever that means. All I can derive from the pivot table is, its another table defined by table data. Not like every database in existence is implemented this way already.
MM I get gmail in Thunderbird so that line of thinking doesn't seem to lineup.
[rambling] For one thing making a game is way more involved then making a website. There are lots of opportunities to work with algorithms (AI being a big one). Usually games don't have much of a framework to work with, as compared to say business apps. So you're left to devising your own systems for data and organization, which I feel is good for learning. The frameworks that are out there will give you nice easy hardware access; which is more gentle then it used to be. As someone mentioned above, making UIs can be a killer, its freaking tedious and in the real world usually you have a designer for this. Although some people have this skill some what naturally, usually programmers end up making the most simple ugly UI possible that is functional, but not obvious to anyone but them. [/rambling]
And how many patents does the implementation of PNG infringe on? That is the problem with patents.
Basiclly if you put it in for free, they may use it they may not. If the kid needed it later they'd try to find it. We opted for that but there wasn't enough in the cord anyway so it was all moot.
I don't think taxing heath care is leaving it intact.
You brand your product with a trademark, and promote the brand. Everyone else is just a copy, you get the nod for coming up with it. Also you have marketing lead time in this case. Why does having a good idea preclude you from having competition? Isn't the consumer better served by it?
One party likes to take our money and spend it on wars, and give juicy contracts to private companies taking part in the war effort.
The other wants to take our money and give people medical care.
Either way we're screwed on keeping our money.
Hmm how bout a tazer, now you only need batteries that can be recharged.
Yeah we can't take a crap near our phone without going through Verizon. Sure it has bluetooth, but you can only use it for a headset. No getting pics off/on or sounds off/on it. Usually someone will release a data cable that can go into a usb port, then you can kind of mess with on your comp, but that is extra $$. In the near future it sounds like I'll be able to buy whatever and get it to work on their network though. Due to all this 700mhz band being auctioned and Google trying to buy it up.
Off topic, but I could see them doing this and the FSF probably wouldn't care. They'd just separate out the Tivo proprietary chunk and run it in another vm (on bsd or something) that is locked down, and communicate over shared mem, guess they could use TCP/IP too. The normal system side would just run some version of linux and users could probably modify to their hearts content. Its a win win in my book.
Working as a contractor I frequently see projects like:
Take all our word docs and make them search able on our Intranet.
Rip this out of and put it over .
PDF sucks for stuff like that. Its a frame buffer and doesn't lend itself to these types of things. Sure some PDFs are all right its all about what generated it but, in general its not that fun.
You can't do that.. that is modify the license of code you didn't write. You have to leave the dual license provision in there. So it may be in linux and be distributed as GPL2, but the provision is still in the code so that someone at a later date can rip it out the BSD parts and distribute them as BSD.
People are flipping out without understanding the issues.
Dual license means, you can abide by one of them, which ever you want. You can't take out/alter the verbiage of license itself, and when you pass this code downstream the verbiage needs to be intact.
If you write/rewrite a significant portion then if you want that code to be distributed under only one of the two licenses you got the main body of the code under, you should probably stick it in another file to be unambiguous and put your license at the top of that, or somehow mark your portion of code and what license it should follow. In this case your code would have to be BSD or GPL2 though, considering you couldn't distribute the rest of the code you originally got unless it was one of those.
I'm guessing that the guy who cause all of this just got the wrong idea about what dual licensing meant and was trying to clean up what he thought was redundant verbiage (aka the BSD license) at the top of the file.
It sounds like you don't want to use the GPL for that project then.
http://panda3d.org/
He is doing it for the children. M$+Intel can compete unfairly against him, probably by paying off government officials. The people don't get to make this decision of which they want the, governments are. OLPC needs the volume to bring down the cost of production. M$+Intel are screwing this up just to protect their market share and giving half a thought as to what they're really providing. If you look at OLPC its much more then just hardware, everything is structured around learning on it.
Riiigghhht because in business with random governments of varying moral beliefs, best product wins right? I bet the one with the most kick backs does.
Despite what you think should happen people are making money on what is actually happening.
Didn't you see that South Park, with the Beavers and France. This has been covered!
They're doing it to farm money/items to sell. Leveling is easy enough, although it can get boring going through the same content with different characters.
According to Wikipedia, Column Oriented is better for reads, meaning OLAP(data warehousing) slower on writes, so not so good on OLTP. The idea being since columns are stored in different files, and queries usually don't want every column, so you only have to look at some of the files and not all of them.
Go read their faq. This system is better and simpler. It even allows potentially for ballots to be reconstructed from the receipts if the polling place was blown of the face of the earth.