This bug has been known for so long, in fact, that it was fixed weeks ago in a newer release of redsn0w/PwnageTool, and this issue does not and never occurred with the jailbreak in question here (jailbreakme.com). Please stop redistributing obsolete rumors and lies as if they were facts.
That's an absurd analogy. The iPhone or iPad is just as easy to tinker with as any computer. Apple themselves make that point all the time. It's just the distribution that Apple is limiting, and it has nothing to do with technical issues or applicances, it has to do with money and control.
No, sorry,/that/ is absurd. While I was able to write and deploy Cycorder with the SDK (barely), I would not have been able to write WinterBoard, Cydget, or Veency. I would not have been able to build and install APT and X as part of a full Unix environment for the device, nor could anyone have written the Bluetooth Keyboard driver we now have in Cydia.
I have no clue where you got the belief that you can tinker with the iPhone "just as eas[ily] [...] as any computer": the only reason we can mess with the device at all is because it is jailbroken. The original poster was not talking about writing silly little applications in a sandbox: he was talking about actual/tinkering/.
I hate to be the one to break this to you, but the Palm Pre is about as open as Apple. They have a website where they claim to distribute the source code to their platform, but it is only what they are legally required to distribute. In fact, even that they fall short on: many of the packages aren't compilable as they are holding back on critical header files.
The libpurple-adapter, in particular, must be licensed under GPL (as libpurple itself is), but Palm has been telling representatives of the open source community that they would have to sign an NDA to get access to the full set of files required to make it work, which only be distributed only under a very restrictive temporary license. As someone who has spent a lot of time fighting similar causes with Apple (I'm the developer behind Cydia) I can say that they would/never/ pull shit like this: when I've sent GPL complaints Apple has always fixed the issue rapidly, and I would even receive e-mails from all related departments apologizing for the mixup.
Seriously: if Palm can't even compete to Apple's standards for openness, then you know something horribly evil is going on over there.
For the record, Android is not just about running stuff in Java: the developers at Google are actively working on the semantics behind having accessible JNI, some of the existing applications (including the OpenGL demo from Qualcomm people rave over) are mostly written in C, and we are likely going to have an entire Android "NDK" for doing native development to play with. Android is definitely the entire platform, including Linux.
If you search around on the android-platform mailing list you will find discussions of the various issues you are bringing up (such as multiple devices, architectures, etc.) and the various solutions (and non-solutions) people have for them.
Yeah. This makes the "instructions" rather dis-useful: they are simply "install X" (as X is already ported and we already know how to get Debian setup on the device), "run the X VNC server", "connect with an Android VNC client". The instructions should likely just have been placed in the article summary rather than forcing us to click through to AndroidFanatic to just get disappointed:(.
That was also my thought (I'm the guy who organizes the g1-hackers mailing list, and has been pioneering Debian on this platform, and any changes required to init and the kernel needed to support it);) I almost responded "if you check, I actually registered the domain name, and once I finish the changes required to get Debian installed to / I am likely to put the final instructions there with a bug tracker", but then I remembered I hadn't/actually/ bought it yet. I quickly did just now.;)
For the record, this is just a shell script that runs the commands listed here: http://www.saurik.com/id/10. AndroidFanatics generally doesn't reference it's sources. At least this time they (arguably) provided some value in packaging, but that usually isn't the case. The Android Market Browser it has, for example, is just a republished download of http://www.cyrket.com/. It used to be an iframe, but when I told them I wasn't okay with that they decided to just wget the contents. They don't even have the intelligence/decency to reformat it at all, making the entire thing quite flagrant. Frown pants.
I got that working;P. It's JamVM with a custom connector from Java to Objective-C that works like PyObjC, allowing access to all of the frameworks on the device. It's actually been around for _months_ now, but I have been quite busy and have been unable to really market it well enough. If anyone wants more information, please e-mail me: saurik@saurik.com. My website is http://www.saurik.com/, and I've had a bunch of time in the last couple days to actually write articles for my site, and JocStrap/iPhone/Java is next;P.
Just because a language is garbage collected doesn't mean you can't "leak" memory (in the more standard definition of "waste memory over time"), it only means you can't completely lose track of references to objects (which is often used as a more technical definition of "leak"). It is quite common for people coding in such languages to accidentally generate live object structures that are mostly made up of garbage that they should have released their references to. Put another way: these people's program was legitimately claiming memory and never releasing it due to their limited understanding of how event handlers work.
"if a machine has multiple users"... how likely _is_ that? even my mother has "_her_ computer" (a laptop she never dares move becuase she doesn't understand it enough). the only windows computers I know with multiple accounts where more than one account is actually used much is the computer lab at my school. (although I _will_ admit there that most (if not all) users have Administrator access; hasn't caused a problem in the years that we've had it that way, though.)
first off, I run linux. have for at least eight years, and I haven't had a windows computer at all for about a year now.
what do you intend to protect by not running as Administrator or root? it takes a few hours for me to reinstall my computer from scratch. back when I ran windows I tended to do that every four to five months anyway as the installation model was so poor (although it also took me more like six hours to do it).
_big deal._
the _only_ data of any importance on my entire computer is in my home directory and that that's the _only_ data that is allowed to be damaged by code that I run as my user. take out/usr/, I don't care. take out/etc/, I don't care. take out/home/saurik/, and I might as well stop using the computer. _works_ just fine, but all my _data_ is gone. what makes it _my_ computer is gone.
the _one_ intelligent thing you can do is backup your data regularly. (and no need to backup all of C:\Program Files\, which some people are commenting about and complaining is writable even by regular users on Windows... _there's hardly anything useful in there_ (what is is data that should have ended up in C:\Documents and Settings\ under your user anyway).) (although I will point out that backups also have their issues because data typically degrades in importance over time, data from a year ago to me is much less valuable than data I created yesterday, which leads to some kind of continual backup argument, but whatever, that's another issue.)
33 seconds?!? OH MY GOD. I have a Dual 2.8GHz Xeon machine (so rather similar) with a 0.75TB (66% as large) over RAID5, formatted to ext3. It takes me about _0_ seconds to mount it. My entire computer's bootup sequence from beginning to load the kernel until I get a login prompt is only 22 seconds. It takes you 33 _seconds_ just to _mount_ a drive?!?
By non-working it should be noted that you also mean non-upgradable. Once you do an export, you dan't do an update, which makes that feature useless for this purpose.
> It would be nice if the compiler could arrange so that the matching operator delete was called automatically...
But if it did that, then it would have to store something extra in the memory region you requested. Which would change the usage and performance of the memory region you are working with. This is something that should be in the hands of the library designer, which is more than doable.
Example: in my C++ library (Menes) all calls to new are choke-pointed through a single system that tags the memory region with a reference to the allocator in charge of the allocation. When delete is called I can then deallocate it using the specific allocator that caused the allocation. Without also standardizing the concept of allocation objects and just ensuring the same allocation function is called, you'd just be wasting another few bytes in my objects (things which were important enough to be allocated a certain way that I spent the time to write this massive allocation system) and I'd _still_ have to add a reference to the specific allocator object to the block of memory somewhere.
So earlier, when this was first breaking news, my roommate got a phone call from her friend Erin about a possible tsunami warning. My first thought? "I'll check slashdot; if it's actually going to kill us (especially as we're in Southern California) slashdot will have an article on it".
Does that make any sense at all? "People who pay chinese people to do absolutely mindless boring repetitive tasks, on an industrial scale, force games to move in the direction of mindless/repetitive/boring." It should do the exact opposite! There is no point in playing a game that involves doing mindless/repetitive/boring things. If the people who make games don't like this, they should _remove the mindless/repetitive/boring things from their games_. Don't try to outlaw the market: make it irrelevant. Banning the accounts of people who take advantage of what is really an insightful opportunity simply to maintain the status quo of crappy games is about as stupid as putting into effect a law that states that people can't talk about exploits in software because noone wants to fix them.
It's also insanely more cache coherent in the way it processes it's input. Merge sort tends to randomly scatter accesses around the data. On common computer hardware, QuickSort is pretty much guaranteed to be faster. We actually went over this very point in a class I took on Computer Architecture a few years back.
Intial post to nmap-hackers way back then: http://lists.insecure.org/lists/nmap-hacker s/2000/ Apr-Jun/0076.html
Also to note is that it is a hell of a lot more powerful than Fyodor's implementation: http://lists.insecure.org/lists/n map-dev/2003/Jul- Sep/0104.html
Latest version announcement: http://lists.insecure.org/lists/nma p-dev/2003/Jul- Sep/0117.html
The article claims this requires a bluetooth stack and "custom middleware components" installed on the Windows XP machine they are connecting this to (never-the-less the actual bluetooth hardware...). I'm sorry, but I don't want to have to do that on every computer I sit down at in order to access my files (which they are storing... on an HTTP server?!?... I have yet to see an implementation of a WebDAV file server that is anything near as fast for block file reads as a real file system).
From the article: "The host infrastructure is implemented using a standard Windows XP system augmented with a Bluetooth stack and custom middleware components. The host infrastructure is responsible for discovering mobile devices and providing common access protocols. In order to facilitate device discovery, a discovery monitor runs on the host and periodically searches for Personal Servers, automatically connecting using a Bluetooth PAN (Personal Area Network) profile when one is found."
The bluetooth option is nice, but it shouldn't be the main way to contact the device. Besides, have you ever looked into the bluetooth transfer rates? 723kb/s or 90kB/s. Loading that 5 megabyte powerpoint presentation with all the pretty graphics at the target site is going to take almost a minute. Although, that time is definitely going to be swamped by the time it will take to install all of the "custom middleware" and figure out why the stupid bluetooth card doesn't want to get recognized no matter how many times you reinstall the drivers... I have a feeling the Wi-Fi interface will get 99.99999% of all usage from this device.
And even then I wonder how the Wi-Fi interface is going to work... is it just going to DHCP itself an IP address? Based on all the other wonderful decisions they seem to have made for this product I'm going to bet they are going to require even more software to be installed on the host to search for the device out on the network somewhere... *sigh*.
Give me a device that size with the standard USB hard drive interface (and therefor requiring no software on the target machine, just an available USB port, something almost every computer I've dealt with in the last few years has had), and then we'd be getting closer.
Give me an iPOD (with their nice small format hard drives) that has the standard USB hard drive interface and I'd buy it immediately. [ Note that the Archos, the closest device I've seen to that last vision, sucks (it's much too large, much too heavy, I hear it has crappy sound quality, and I _believe_ it is only USB 1.1, although I might be wrong on that last count). ]
As far as I can tell the reason the last one isn't happening is due to the whole SMDI initiative or whatever; rights management and all that. Here's my response: if you demand that all of the mp3 files on the device got copied using the DRM compliant software installed on my home PC, fine. But if I'm going to carry around a 5GB hard drive I want to be able to store my 25MB of documents on it using the standard USB harddrive interface. Encrypt the fuck out of the mp3 files, see if I care:). _I'll_ still buy it...:).
If your data type really can be static_cast'd to a void * then there's probably a much better solution to this problem in almost 90% of the cases: it's called a "better compiler". I don't know what compiler you are using, but Visual Studio.NET finds functions whose assembly code generated the same and merges them (or whatever you want to call it: links all usages to the same implementation) at link time.
So if you have a vector of int * and a vector of long * and a vector of MyObject * and a vector of unsigned long they should all generate the same assembly code and you should only end up with a single set of these in your resulting binary.
When you go to a casino, do you have the "right to cheat"? They watch you with video cameras, keep track of game play with statistics analysers (to better allocate resources to watching unlikely winning streaks), rotate their cards when at all possible, and reserve the right to throw you out, ban you from the casino, and if neccessary prosecute you for your _crime_ against their casino. I don't see why things should be any different for an online game.
Some people have been making arguments about being able to do anything you want on your own computer, and I will somewhat agree with those (I think some of them go to far...). However, those arguments have no place here. Whether or not you get to do something on your computer doesn't mean you can use that to connect up to someone else's systems and use it.
Just because I can hack together my own telephone out of parts in my apartment, that doesn't mean that I'm allowed to plug just anything I want onto my phone wire... I could break things for the phone company or other people living near me.
And whether or not the problem _can_ be solved doesn't mean anything either. Just because someone _will_ be able to cheat at the casino doesn't mean that the casino should just give up, lay down their arms and restrictions, and just prepare to lose a lot of money. Nor does this mean that they have no right to do anything because their games could be constructed better so maybe you _can't_ cheat (or at least, not as much). The points people are making that the server shouldn't be sending information to the client is much akin to saying that games at casinos shouldn't use cards... I mean... 52 different possibilities for a draw? There just aren't enough variables there to keep people using assistance technology from cheating by card counting. Even with multiple decks it's too easy to keep track of all the possibilities. There are lots of better ways to construct games that people can bet at where technological assistance won't help much. Example: base something around a game of Go.
I agree on all counts.
That guy was incorrect: that bug never occurred with this jailbreak, and has been long fixed on the one that did cause it.
This bug has been known for so long, in fact, that it was fixed weeks ago in a newer release of redsn0w/PwnageTool, and this issue does not and never occurred with the jailbreak in question here (jailbreakme.com). Please stop redistributing obsolete rumors and lies as if they were facts.
That's an absurd analogy. The iPhone or iPad is just as easy to tinker with as any computer. Apple themselves make that point all the time. It's just the distribution that Apple is limiting, and it has nothing to do with technical issues or applicances, it has to do with money and control.
No, sorry, /that/ is absurd. While I was able to write and deploy Cycorder with the SDK (barely), I would not have been able to write WinterBoard, Cydget, or Veency. I would not have been able to build and install APT and X as part of a full Unix environment for the device, nor could anyone have written the Bluetooth Keyboard driver we now have in Cydia.
I have no clue where you got the belief that you can tinker with the iPhone "just as eas[ily] [...] as any computer": the only reason we can mess with the device at all is because it is jailbroken. The original poster was not talking about writing silly little applications in a sandbox: he was talking about actual /tinkering/.
I hate to be the one to break this to you, but the Palm Pre is about as open as Apple. They have a website where they claim to distribute the source code to their platform, but it is only what they are legally required to distribute. In fact, even that they fall short on: many of the packages aren't compilable as they are holding back on critical header files.
The libpurple-adapter, in particular, must be licensed under GPL (as libpurple itself is), but Palm has been telling representatives of the open source community that they would have to sign an NDA to get access to the full set of files required to make it work, which only be distributed only under a very restrictive temporary license. As someone who has spent a lot of time fighting similar causes with Apple (I'm the developer behind Cydia) I can say that they would /never/ pull shit like this: when I've sent GPL complaints Apple has always fixed the issue rapidly, and I would even receive e-mails from all related departments apologizing for the mixup.
Seriously: if Palm can't even compete to Apple's standards for openness, then you know something horribly evil is going on over there.
For the record, Android is not just about running stuff in Java: the developers at Google are actively working on the semantics behind having accessible JNI, some of the existing applications (including the OpenGL demo from Qualcomm people rave over) are mostly written in C, and we are likely going to have an entire Android "NDK" for doing native development to play with. Android is definitely the entire platform, including Linux.
If you search around on the android-platform mailing list you will find discussions of the various issues you are bringing up (such as multiple devices, architectures, etc.) and the various solutions (and non-solutions) people have for them.
Yeah. This makes the "instructions" rather dis-useful: they are simply "install X" (as X is already ported and we already know how to get Debian setup on the device), "run the X VNC server", "connect with an Android VNC client". The instructions should likely just have been placed in the article summary rather than forcing us to click through to AndroidFanatic to just get disappointed :(.
DebiAndroid?
That was also my thought (I'm the guy who organizes the g1-hackers mailing list, and has been pioneering Debian on this platform, and any changes required to init and the kernel needed to support it) ;) I almost responded "if you check, I actually registered the domain name, and once I finish the changes required to get Debian installed to / I am likely to put the final instructions there with a bug tracker", but then I remembered I hadn't /actually/ bought it yet. I quickly did just now. ;)
For the record, this is just a shell script that runs the commands listed here: http://www.saurik.com/id/10. AndroidFanatics generally doesn't reference it's sources. At least this time they (arguably) provided some value in packaging, but that usually isn't the case. The Android Market Browser it has, for example, is just a republished download of http://www.cyrket.com/. It used to be an iframe, but when I told them I wasn't okay with that they decided to just wget the contents. They don't even have the intelligence/decency to reformat it at all, making the entire thing quite flagrant. Frown pants.
I got that working ;P. It's JamVM with a custom connector from Java to Objective-C that works like PyObjC, allowing access to all of the frameworks on the device. It's actually been around for _months_ now, but I have been quite busy and have been unable to really market it well enough. If anyone wants more information, please e-mail me: saurik@saurik.com. My website is http://www.saurik.com/, and I've had a bunch of time in the last couple days to actually write articles for my site, and JocStrap/iPhone/Java is next ;P.
Just because a language is garbage collected doesn't mean you can't "leak" memory (in the more standard definition of "waste memory over time"), it only means you can't completely lose track of references to objects (which is often used as a more technical definition of "leak"). It is quite common for people coding in such languages to accidentally generate live object structures that are mostly made up of garbage that they should have released their references to. Put another way: these people's program was legitimately claiming memory and never releasing it due to their limited understanding of how event handlers work.
"if a machine has multiple users"... how likely _is_ that? even my mother has "_her_ computer" (a laptop she never dares move becuase she doesn't understand it enough). the only windows computers I know with multiple accounts where more than one account is actually used much is the computer lab at my school. (although I _will_ admit there that most (if not all) users have Administrator access; hasn't caused a problem in the years that we've had it that way, though.)
first off, I run linux. have for at least eight years, and I haven't had a windows computer at all for about a year now.
/usr/, I don't care. take out /etc/, I don't care. take out /home/saurik/, and I might as well stop using the computer. _works_ just fine, but all my _data_ is gone. what makes it _my_ computer is gone.
what do you intend to protect by not running as Administrator or root? it takes a few hours for me to reinstall my computer from scratch. back when I ran windows I tended to do that every four to five months anyway as the installation model was so poor (although it also took me more like six hours to do it).
_big deal._
the _only_ data of any importance on my entire computer is in my home directory and that that's the _only_ data that is allowed to be damaged by code that I run as my user. take out
the _one_ intelligent thing you can do is backup your data regularly. (and no need to backup all of C:\Program Files\, which some people are commenting about and complaining is writable even by regular users on Windows... _there's hardly anything useful in there_ (what is is data that should have ended up in C:\Documents and Settings\ under your user anyway).) (although I will point out that backups also have their issues because data typically degrades in importance over time, data from a year ago to me is much less valuable than data I created yesterday, which leads to some kind of continual backup argument, but whatever, that's another issue.)
33 seconds?!? OH MY GOD. I have a Dual 2.8GHz Xeon machine (so rather similar) with a 0.75TB (66% as large) over RAID5, formatted to ext3. It takes me about _0_ seconds to mount it. My entire computer's bootup sequence from beginning to load the kernel until I get a login prompt is only 22 seconds. It takes you 33 _seconds_ just to _mount_ a drive?!?
By non-working it should be noted that you also mean non-upgradable. Once you do an export, you dan't do an update, which makes that feature useless for this purpose.
> It would be nice if the compiler could arrange so that the matching operator delete was called automatically...
But if it did that, then it would have to store something extra in the memory region you requested. Which would change the usage and performance of the memory region you are working with. This is something that should be in the hands of the library designer, which is more than doable.
Example: in my C++ library (Menes) all calls to new are choke-pointed through a single system that tags the memory region with a reference to the allocator in charge of the allocation. When delete is called I can then deallocate it using the specific allocator that caused the allocation. Without also standardizing the concept of allocation objects and just ensuring the same allocation function is called, you'd just be wasting another few bytes in my objects (things which were important enough to be allocated a certain way that I spent the time to write this massive allocation system) and I'd _still_ have to add a reference to the specific allocator object to the block of memory somewhere.
So earlier, when this was first breaking news, my roommate got a phone call from her friend Erin about a possible tsunami warning. My first thought? "I'll check slashdot; if it's actually going to kill us (especially as we're in Southern California) slashdot will have an article on it".
Does that make any sense at all? "People who pay chinese people to do absolutely mindless boring repetitive tasks, on an industrial scale, force games to move in the direction of mindless/repetitive/boring." It should do the exact opposite! There is no point in playing a game that involves doing mindless/repetitive/boring things. If the people who make games don't like this, they should _remove the mindless/repetitive/boring things from their games_. Don't try to outlaw the market: make it irrelevant. Banning the accounts of people who take advantage of what is really an insightful opportunity simply to maintain the status quo of crappy games is about as stupid as putting into effect a law that states that people can't talk about exploits in software because noone wants to fix them.
it sounds like pogs... but I guess collectible poker chips sounded better than collectible milk tops
It's also insanely more cache coherent in the way it processes it's input. Merge sort tends to randomly scatter accesses around the data. On common computer hardware, QuickSort is pretty much guaranteed to be faster. We actually went over this very point in a class I took on Computer Architecture a few years back.
*sigh* weird spaces got added to those links:
/ Apr-Jun/0076.html - Sep/0104.html - Sep/0117.html
The spaces are STILL there in the link captions, but not in the links themselves... I think slash is doing something weird...
http://lists.insecure.org/lists/nmap-hackers/2000
http://lists.insecure.org/lists/nmap-dev/2003/Jul
http://lists.insecure.org/lists/nmap-dev/2003/Jul
Intial post to nmap-hackers way back then:r s/2000/ Apr-Jun/0076.html
n map-dev/2003/Jul- Sep/0104.html
a p-dev/2003/Jul- Sep/0117.html
http://lists.insecure.org/lists/nmap-hacke
Also to note is that it is a hell of a lot more powerful than Fyodor's implementation:
http://lists.insecure.org/lists/
Latest version announcement:
http://lists.insecure.org/lists/nm
The article claims this requires a bluetooth stack and "custom middleware components" installed on the Windows XP machine they are connecting this to (never-the-less the actual bluetooth hardware...). I'm sorry, but I don't want to have to do that on every computer I sit down at in order to access my files (which they are storing... on an HTTP server?!?... I have yet to see an implementation of a WebDAV file server that is anything near as fast for block file reads as a real file system).
:). _I'll_ still buy it... :).
From the article:
"The host infrastructure is implemented using a standard Windows XP system augmented with a Bluetooth stack and custom middleware components. The host infrastructure is responsible for discovering mobile devices and providing common access protocols. In order to facilitate device discovery, a discovery monitor runs on the host and periodically searches for Personal Servers, automatically connecting using a Bluetooth PAN (Personal Area Network) profile when one is found."
The bluetooth option is nice, but it shouldn't be the main way to contact the device. Besides, have you ever looked into the bluetooth transfer rates? 723kb/s or 90kB/s. Loading that 5 megabyte powerpoint presentation with all the pretty graphics at the target site is going to take almost a minute. Although, that time is definitely going to be swamped by the time it will take to install all of the "custom middleware" and figure out why the stupid bluetooth card doesn't want to get recognized no matter how many times you reinstall the drivers... I have a feeling the Wi-Fi interface will get 99.99999% of all usage from this device.
And even then I wonder how the Wi-Fi interface is going to work... is it just going to DHCP itself an IP address? Based on all the other wonderful decisions they seem to have made for this product I'm going to bet they are going to require even more software to be installed on the host to search for the device out on the network somewhere... *sigh*.
Give me a device that size with the standard USB hard drive interface (and therefor requiring no software on the target machine, just an available USB port, something almost every computer I've dealt with in the last few years has had), and then we'd be getting closer.
Give me an iPOD (with their nice small format hard drives) that has the standard USB hard drive interface and I'd buy it immediately. [ Note that the Archos, the closest device I've seen to that last vision, sucks (it's much too large, much too heavy, I hear it has crappy sound quality, and I _believe_ it is only USB 1.1, although I might be wrong on that last count). ]
As far as I can tell the reason the last one isn't happening is due to the whole SMDI initiative or whatever; rights management and all that. Here's my response: if you demand that all of the mp3 files on the device got copied using the DRM compliant software installed on my home PC, fine. But if I'm going to carry around a 5GB hard drive I want to be able to store my 25MB of documents on it using the standard USB harddrive interface. Encrypt the fuck out of the mp3 files, see if I care
If your data type really can be static_cast'd to a void * then there's probably a much better solution to this problem in almost 90% of the cases: it's called a "better compiler". I don't know what compiler you are using, but Visual Studio .NET finds functions whose assembly code generated the same and merges them (or whatever you want to call it: links all usages to the same implementation) at link time.
So if you have a vector of int * and a vector of long * and a vector of MyObject * and a vector of unsigned long they should all generate the same assembly code and you should only end up with a single set of these in your resulting binary.
When you go to a casino, do you have the "right to cheat"? They watch you with video cameras, keep track of game play with statistics analysers (to better allocate resources to watching unlikely winning streaks), rotate their cards when at all possible, and reserve the right to throw you out, ban you from the casino, and if neccessary prosecute you for your _crime_ against their casino. I don't see why things should be any different for an online game.
Some people have been making arguments about being able to do anything you want on your own computer, and I will somewhat agree with those (I think some of them go to far...). However, those arguments have no place here. Whether or not you get to do something on your computer doesn't mean you can use that to connect up to someone else's systems and use it.
Just because I can hack together my own telephone out of parts in my apartment, that doesn't mean that I'm allowed to plug just anything I want onto my phone wire... I could break things for the phone company or other people living near me.
And whether or not the problem _can_ be solved doesn't mean anything either. Just because someone _will_ be able to cheat at the casino doesn't mean that the casino should just give up, lay down their arms and restrictions, and just prepare to lose a lot of money. Nor does this mean that they have no right to do anything because their games could be constructed better so maybe you _can't_ cheat (or at least, not as much). The points people are making that the server shouldn't be sending information to the client is much akin to saying that games at casinos shouldn't use cards... I mean... 52 different possibilities for a draw? There just aren't enough variables there to keep people using assistance technology from cheating by card counting. Even with multiple decks it's too easy to keep track of all the possibilities. There are lots of better ways to construct games that people can bet at where technological assistance won't help much. Example: base something around a game of Go.