"Yes boss, absolutely boss. We'll just finish off our current project and then we'll get right on removing all of the Flash. Which image from the current splash animation would you like the keep? Also, we'll have to lose the videos. Where shall we put the transcripts? And the fancy support wizard you like so much, the one that cut phone calls to our call centers by 20% last year, that will take roughly one quarter to rewrite using HTML5, and it will not work for around 50% of our userbase so we'll have to keep maintaining the old version too."
"All in all, it will take us roughly two quarters to make our website and webapps completely iPad compatible. We'll get right on it."
two weeks later
"Hello, is that the web development team? This is the CEO. What happened to that new executive profiles section I wanted? What, no, I didn't want the iPad work to take priority over that! I gave the iPad to my wife anyway, I found I couldn't type emails easily enough on it. No no, the iPad stuff can come later"
C is by no means "the planets current standard for development". You might think that if your only experience of programming has been at university or on Linux, but go to any commercial dev shop and you'll find Java, C# or C++. The only places C is still widely used I'm aware of is kernel development and programs that target very limited microprocessors like you might find in your washing machine.
Anyway, OP was clearly referring to Objective-C when he said "apples crappy little language", and that's a fair assessment. Any language that thinks it's a good idea to just make up some random return value when you call a method on a null pointer should be taken out the back door and shot. I can believe that when NeXT was just starting out Objective-C had a lot going for it. These days it's like Jobs took every lesson learned in how to write robust software and wiped his ass with it. Only supporting unmanaged legacy languages for iPhone development - that was stupid. Forbidding other people from fixing that problem for you - that is a whole other plane of stupidity of which my mind is too meagre to comprehend.
All developers receive Apple's patches and OS updates ahead of time. WELL ahead of time. If you're going to have an anti-Apple agenda, at least try to sound credible.
I believe it has already been pointed out that this only applies to some updates, for instance not security updates. Obviously it can't apply to security updates because by their very nature they are supposed to be written and deployed as quickly as possible. Sure that doesn't stop Apple sitting on instant-pwn-via-browser bugs for 6 fucking months but in THEORY they are supposed to be released within days.
Why do you think the guy lacks credibility? Ask anyone else in the industry and they'll sing the same song. Microsoft loves 3rd party developers. They release stuff that works. You know that Microsoft engineers worked with Adobe engineers to make Flash 10.1 video run like a dream on Windows, right? Even though Microsoft make a direct competitor to it in Silverlight?
Apple is notorious for doing the exact opposite. Flash doesn't suck on the Mac because Adobe are lazy, the evidence is there for all to see. Who knows the real reason, but the rumours that Apple have deliberately blockaded better video support seem more credible all the time. Jobs clearly has a hatred of Flash and Adobe that is completely irrational, so I can quite believe that the MacOS X team would refuse to expose the necessary acceleration APIs that Flash needs.
The whole point of the new multi-tasking APIs is to avoid exactly that slowdown, by transparently killing and resuming apps to keep enough RAM available. I find this assertion from Jobs curious because the G1 could do the same multi-tasking as the milestone. It worked fine, you just paid the "app resume" penalty a bit more often than on devices with more RAM.
And interestingly iPad runs an apparently older, forked version of the iPhone OS. I've been told that their APIs have actually diverged (!!) and that iPhone 4.0 won't be coming to iPad, with some merger possible in the 4.1 timeframe. Nuts!
The facts are that Apple started rejecting apps that used location in mobile ads for "user experience reasons". Now iAd is announced and one of the key features is that ads can use your location.
This is not to mention the fact that implementing other iAd features is impossible for other ad networks because apps aren't allowed to download and run arbitrary code.
Jobs has done it again - there will be a small amount of token competition to ward off regulators, but that competition will be forbidden by the app store rules from actually being able to match the iAd features.
Because strings that are ASCII or UTF-8 only are remarkably common in programs. Think URLs, XML tag names, symbol names, any kind of non-user facing string.
Actually Android, at least on the Nexus One, has integrated speech recognition. It's done server side and the quality seems to have improved a lot lately. If you use it for phrase-at-a-time speech it can be remarkably accurate. It doesn't work so well in very noisy environments or if you string together several phrases with pauses to imply commas, etc. At least not yet.
However, RAM usage is not a bad thing. Traditionally, when RAM came in far smaller quantities than it did now, developers frequently traded extra CPU cycles and disk I/O to conserve memory. Now, it's almost the opposite. A good application, especially a foreground application like a web browser, will use RAM liberally to conserve bottleneck resources like CPU, bandwidth, and I/O.
You realize that blowing the physical RAM limit on a desktop will trigger swapping and potentially fatal thrashing, blowing the RAM limit on a swapless device like a phone or many servers will result in the death of the process?
The fact that people still hate running desktop Java apps even after all these years of optimizations in the JVM can largely be attributed to this problem. The Sun guys chose to optimize for CPU time over memory usage, often to an insane degree. For instance the String class represents all strings using UCS2 internally - if that isn't bloat I don't know what is!
Why are programs like Chrome written in C++ anyway? It's because everyone knows you can't make responsive apps in Java, and the reason you can't has nothing to do with fancy runtime compiler optimizations and everything to do with inability to carefully control working set size.
I think that's really key. Whilst the iPhone was in development OS X stagnated, managing only a bugfix/performance release that in fact managed to introduce quite some new bugs that weren't in 10.5. Whilst the iPad has been in development, what happened with the iPhone? MobileMe? Even iTunes? Answer: not a whole lot.
Jobs claims he doesn't want to return some of Apples enormous cash pile to investors because he wants to do bold new things with it. Like what? Has Apple been using its cash pile to aggressively hire? If so I haven't seen much evidence of it. Facebook has been emailing people left and right to get interview candidates for example, but I didn't yet hear of anyone getting a letter from Apple recruiting (or maybe they did but they aren't allowed to talk about it, hah).
If Apple are really planning on doing their own maps or search engine (I doubt it) they'll need to show they can focus on more than one thing at once. Releasing a bunch of major new features for iPhone and MacOS X simultaneously would be a good start. Demonstrating some progress with iWork beyond an iPad port would also get attention.
Um, surely if a crack is so complicated most people who try to use it fail then the DRM can be considered a "success"?
It's unfortunate that UbiSoft apparently can't keep their servers online. I have no doubt at all that some pissed-off crackers are venting their frustration through DoS attacks, but UbiSoft should have been able to anticipate that and build out enough capacity and expertise to handle very large attacks.
That said, it doesn't surprise me that this sort of DRM is hard to crack. I don't know how they implemented it, but I already predicted that net-based DRM can be significantly stronger than disk based. There's just a whole lot more potential for forcing adversaries into white-box reversing which can be a lot harder than simply building a better drive emulator.
I don't think this sort of DRM is going away if there are really no cracks out yet. I doubt the DRM in UbiSofts games is as strong as theoretically possible but it's apparently strong enough. Building DoS-proof, high uptime sites is definitely possible, look at Google or Microsoft for examples of this. So I fully expect other companies to follow their lead. Don't like it? Get a console....
The iPad isn't competing with netbooks through hardware. The tablet form factor is a distraction - and it may ultimately prove to be a serious weakness rather than a strength. I certainly wouldn't want to do any serious work with a soft keyboard.
The iPad is competing through software, namely, the operating system. It's an attractive proposition for people because traditional computers are an epic failure (and MacOS X hasn't really helped matters).
They have confusing user interfaces, that make it easy to accidentally lose windows behind other windows and expect you to understand concepts that don't appear very often in day to day life, like nested folder hierarchies. Getting software for them is difficult - search engine results can be filled with programs that don't run on your chosen platform, and your relatives/friendly local geek is always telling you not to download stuff from the internet anyway. You live in constant fear of viruses. Your computer frequently breaks or slows down for mysterious reasons and every app seems to constantly be nagging you to update. If you have a Windows box and make the mistake of phoning a company for tech support, you'll just get bounced around different suppliers in a giant finger-pointing game. Probably your computer came weighed down with crap to shave $10 off the price. The list of things regular operating systems do badly is just amazing.
The iPad doesn't run MacOS X because MacOS X, and Windows, and Linux, are all evolutionary dead ends. Steve Jobs knows this. Think about how much progress OS X made in the last 3 years - none. It actually went backwards, Snow Leopard launched with serious regressions some of which are still not fixed. It's neglected and unloved. OS X is adrift because nobody at Apple seems to be working on it anymore. All the attention is on iPhone OS.
Many people decry the things iPhone OS lacks, and it's true, some of the omissions are pretty stupid. Inability to multi-task is something they can get away with on a phone. On a general purpose device where you're supposed to Get Shit Done(tm) I'm not sure it can be left out. But the reason people are going to want an iPad is because the iPhone OS is a fresh start. You don't have to worry about viruses. It doesn't randomly break because of third party software. It's easy to find and buy software. There's no fear because there's a big, well known company standing behind the device and saying "you will have a great experience" and they have the muscle and control to make it happen.
There is an alternative. ChromeOS netbooks are an alternative vision of the future of computing. ChromeOS is also in a sense "locked down", in that it only runs web apps. But these devices will (probably) share many of the same characteristics that makes the iPad appealing. ChromeOS netbooks will not break. They will not start slowly, bogged down by crapware that launches itself at startup just because it can. Users will have no fear of viruses. They won't have to try and remember where they saved their files. The UI will be simple and easy to understand. They will be cheap and have long battery life. They will be backed by the Google name, whilst it may not have the cachet of Apple in the hardware space, it's still an easily recognized and trusted brand.
More importantly for us Slashdotters, they are open source devices and likely to come in a somewhat hackable/reflashable form if the Nexus One is any indication. The future of computing can be less wild west without compromising its freedom or openness.
Whilst I'm not arguing for having ridiculous app review processes or bootloader locks (I think Apples decisions here are retarded), I must note that you can read the source code of the compiler used on the iPad/iPhone (gcc) , and the standard library (darwin). You can also read the source of the browser rendering engine and various other parts.
Whilst that's not as good as the Nexus One where you can read darn near everything, and reflash to your hearts content, the iPad situation is not quite as dire as you make out.
And again, I think people like you are highly unusual. The idea that 10 year olds are going to be compiling their own OS builds is a fantasy for Linux geeks (of which I am one). Just writing a fully functioning, interesting program is challenge enough. Operating systems are basically boring pieces of software - given a choice between making a spinning 3D cube or tweaking the kernel scheduler, I'm pretty sure most kids would rather make a spinning 3D cube. The scheduler hacks can come after they have some years of experience and can get their kicks from solving highly abstract problems. By which point they will certainly be capable of playing with Linux.
Now I'd like to repeat that one can simultaneously believe the direction Apple is going is bad, and that the iPad does not harm the next generation of child tinkerers. These beliefs are not mutually exclusive.
I don't think that's really true. Whilst I'm not generally a fan of Gruber and his rampant Apple fanboyism, he's not stupid and I think the argument he makes is sound. I wrote programs for the BBC Micro back in the 80s - and it sucked. I knew, even as a child, that what I was doing wasn't "real" programming. I didn't even know what "real" programming was as I had never heard of nor did I understand the concept of assembly language back then. Maybe some kids were smart enough to teach themselves assembly language and then hack the OS itself. I just couldn't do that, I didn't have access to the materials and for an 8 year old even BASIC can be tough. I actually didn't do any OS-level hacking until I was 18 (on Linux) and I don't think it did me any harm.
I happen to think the iPhone and iPad are remarkably poor environments for children to learn programming on, mostly because the amount of crap you have to learn in order to make something fun in languages like Objective-C is enormous. JavaScript or even Java is a much better choice. However, Gruber links to some 13 year old who has written an app and published it on the app store. That's awesome and something I could only have dreamed of when I was 13.
And it's not just kids. I was reading an interview the other day with a guy who published "I MAED A GAM3 W1TH Z0MB1ES" on Xbox Live. He did it with the XNA toolkit, in other words it was written in C#. In the interview he said he was glad XNA existed because he wasn't a very experienced programmer and C++ was too difficult for him. But XNA was easy. His game costs a dollar, took a few weeks to make and is wildly profitable. It consistently sits at the top of the indie games charts - because it's excellent. In other words, even though the Xbox is the most closed platform you can imagine, it's still possible for amateurs to compete with the big boys by producing fun games. That's the sort of motivation kids in the 70s and 80s just never had and frankly, I think it more than makes up for having some signature checks here and there.
I don't believe those statistics exist publically.
The question is really about the Xbox 360 at this point, piracy wise. The Wii target market really isn't overlapping much with the typical pirate. The PS3 has a piracy rate of zero because its DRM has never been cracked. The Xbox 360 does suffer some piracy for DVD based games but I don't think any statistics for that are public. It does not have any piracy of content distributed online (arcade, indie).
Xbox 360 piracy is probably not going to reach the same saturation levels as on the PC because doing it tends to result in having your console permanently locked out of the online services which are more and more a part of the Xbox value proposition. Blacklisted consoles aren't able to do multiplayer gaming, can't play some of the excellent Arcade/Indie games, can't use the online video services etc. They're just worth a lot less.
On the other hand, the hardware is pretty darn cheap these days and the ban waves aren't frequent. I read that some people find it cheaper to buy the devices, play pirated games, and when their console gets banned buy a new one because the cost of the games is higher than the cost of the hardware!
It took Microsoft eight years, a new management and a fresh set of eyes to change some of these mistakes. The veil of threats that existed over the runtime in 2001 was lifted with the Community Promise announcement but it took eight years, and those were eight years of lost opportunity and FUD directed at all things Microsoft.
So in fact Miguel was lamenting time lost under a previous, less enlightened management. Not current problems with.NET.
I remember when Mono was first announced. Miguel at the time argued that the free software world had failed to produce any real competitor to Java or.NET style frameworks despite their absolute dominance of mainstream programming. He didn't think one would appear any time soon either. And guess what - he was right. There is no home grown Linux, Apache or Android equivalent to compete with Java or.NET. And whilst Java is now fully open source, it wasn't safe to assume that'd happen back all those years ago.
So in fact it seems Miguel was right all along - right about the need, right about the solution, right that Microsoft would not attempt to "destroy Linux" by leveraging patents. Instead they specifically promised in writing not to do that. Why? Probably because they don't care about Linux anymore. The world has moved on, what once seemed like a threat to their business no longer is.
Are you sure about that? When I was in China I asked a local if they hated the British due to the opium wars, she just laughed and said no not at all. She said some of the older folks didn't like the Japanese but otherwise the opium wars were an irrelevant historical item. Do you have anything to back up your claim that Chinese people really think that way? I only have an anecdote, but you presented nothing....
I'm all for citations, but in this case you could have just found it yourself: Dalvik VM internals.
The VM itself is relatively small compared to the rest of the code on the system. I agree it's not obviously intuitive or correct, and I didn't design it. Just repeating what the designers said about why it is like it is.
Unfortunately that's not really true. A const method in c++ can still tweak state it reaches through internal pointers. Const is actually pretty useless in C++.... it doesn't help with optimization nor multi-threading. A real const system is what you can find in the D2 language.
What apple calls "blocks" are what other languages have called "closures" and had for decades. Adding closures to Objective-C isn't an interesting advance, and if Siracusa believes that's what makes GCD revolutionary I can only imagine he needs to spend less time writing articles and more time writing or debugging multi-threaded code.
I have yet to see a multi-threaded program that was bottlenecked by lack of GCD like features. And I've written/used a lot of high performance multi-threaded software. I agree with those who say it isn't a big deal: I'd love to know what use cases Apple engineers thought they were optimizing. Which scenarios suddenly got faster because of this?
At any rate, if Apple have somehow achieved great insight into parallel programming that the rest of the industry did not, GCD features can easily be added to other operating systems.
Right ....
"Yes boss, absolutely boss. We'll just finish off our current project and then we'll get right on removing all of the Flash. Which image from the current splash animation would you like the keep? Also, we'll have to lose the videos. Where shall we put the transcripts? And the fancy support wizard you like so much, the one that cut phone calls to our call centers by 20% last year, that will take roughly one quarter to rewrite using HTML5, and it will not work for around 50% of our userbase so we'll have to keep maintaining the old version too."
"All in all, it will take us roughly two quarters to make our website and webapps completely iPad compatible. We'll get right on it."
two weeks later
"Hello, is that the web development team? This is the CEO. What happened to that new executive profiles section I wanted? What, no, I didn't want the iPad work to take priority over that! I gave the iPad to my wife anyway, I found I couldn't type emails easily enough on it. No no, the iPad stuff can come later"
C is by no means "the planets current standard for development". You might think that if your only experience of programming has been at university or on Linux, but go to any commercial dev shop and you'll find Java, C# or C++. The only places C is still widely used I'm aware of is kernel development and programs that target very limited microprocessors like you might find in your washing machine.
Anyway, OP was clearly referring to Objective-C when he said "apples crappy little language", and that's a fair assessment. Any language that thinks it's a good idea to just make up some random return value when you call a method on a null pointer should be taken out the back door and shot. I can believe that when NeXT was just starting out Objective-C had a lot going for it. These days it's like Jobs took every lesson learned in how to write robust software and wiped his ass with it. Only supporting unmanaged legacy languages for iPhone development - that was stupid. Forbidding other people from fixing that problem for you - that is a whole other plane of stupidity of which my mind is too meagre to comprehend.
I believe it has already been pointed out that this only applies to some updates, for instance not security updates. Obviously it can't apply to security updates because by their very nature they are supposed to be written and deployed as quickly as possible. Sure that doesn't stop Apple sitting on instant-pwn-via-browser bugs for 6 fucking months but in THEORY they are supposed to be released within days.
Why do you think the guy lacks credibility? Ask anyone else in the industry and they'll sing the same song. Microsoft loves 3rd party developers. They release stuff that works. You know that Microsoft engineers worked with Adobe engineers to make Flash 10.1 video run like a dream on Windows, right? Even though Microsoft make a direct competitor to it in Silverlight?
Apple is notorious for doing the exact opposite. Flash doesn't suck on the Mac because Adobe are lazy, the evidence is there for all to see. Who knows the real reason, but the rumours that Apple have deliberately blockaded better video support seem more credible all the time. Jobs clearly has a hatred of Flash and Adobe that is completely irrational, so I can quite believe that the MacOS X team would refuse to expose the necessary acceleration APIs that Flash needs.
The whole point of the new multi-tasking APIs is to avoid exactly that slowdown, by transparently killing and resuming apps to keep enough RAM available. I find this assertion from Jobs curious because the G1 could do the same multi-tasking as the milestone. It worked fine, you just paid the "app resume" penalty a bit more often than on devices with more RAM.
And interestingly iPad runs an apparently older, forked version of the iPhone OS. I've been told that their APIs have actually diverged (!!) and that iPhone 4.0 won't be coming to iPad, with some merger possible in the 4.1 timeframe. Nuts!
The facts are that Apple started rejecting apps that used location in mobile ads for "user experience reasons". Now iAd is announced and one of the key features is that ads can use your location.
This is not to mention the fact that implementing other iAd features is impossible for other ad networks because apps aren't allowed to download and run arbitrary code.
Jobs has done it again - there will be a small amount of token competition to ward off regulators, but that competition will be forbidden by the app store rules from actually being able to match the iAd features.
Mobile Safari is missing some features that are useful for a document editor like contentEditable.
The sudden spike of video views probably looked like an attempt at manipulation.
Because strings that are ASCII or UTF-8 only are remarkably common in programs. Think URLs, XML tag names, symbol names, any kind of non-user facing string.
Actually Android, at least on the Nexus One, has integrated speech recognition. It's done server side and the quality seems to have improved a lot lately. If you use it for phrase-at-a-time speech it can be remarkably accurate. It doesn't work so well in very noisy environments or if you string together several phrases with pauses to imply commas, etc. At least not yet.
You realize that blowing the physical RAM limit on a desktop will trigger swapping and potentially fatal thrashing, blowing the RAM limit on a swapless device like a phone or many servers will result in the death of the process?
The fact that people still hate running desktop Java apps even after all these years of optimizations in the JVM can largely be attributed to this problem. The Sun guys chose to optimize for CPU time over memory usage, often to an insane degree. For instance the String class represents all strings using UCS2 internally - if that isn't bloat I don't know what is!
Why are programs like Chrome written in C++ anyway? It's because everyone knows you can't make responsive apps in Java, and the reason you can't has nothing to do with fancy runtime compiler optimizations and everything to do with inability to carefully control working set size.
I think that's really key. Whilst the iPhone was in development OS X stagnated, managing only a bugfix/performance release that in fact managed to introduce quite some new bugs that weren't in 10.5. Whilst the iPad has been in development, what happened with the iPhone? MobileMe? Even iTunes? Answer: not a whole lot.
Jobs claims he doesn't want to return some of Apples enormous cash pile to investors because he wants to do bold new things with it. Like what? Has Apple been using its cash pile to aggressively hire? If so I haven't seen much evidence of it. Facebook has been emailing people left and right to get interview candidates for example, but I didn't yet hear of anyone getting a letter from Apple recruiting (or maybe they did but they aren't allowed to talk about it, hah).
If Apple are really planning on doing their own maps or search engine (I doubt it) they'll need to show they can focus on more than one thing at once. Releasing a bunch of major new features for iPhone and MacOS X simultaneously would be a good start. Demonstrating some progress with iWork beyond an iPad port would also get attention.
So your solution to "too much shooting" is more guns?
Amazing.
Um, surely if a crack is so complicated most people who try to use it fail then the DRM can be considered a "success"?
It's unfortunate that UbiSoft apparently can't keep their servers online. I have no doubt at all that some pissed-off crackers are venting their frustration through DoS attacks, but UbiSoft should have been able to anticipate that and build out enough capacity and expertise to handle very large attacks.
That said, it doesn't surprise me that this sort of DRM is hard to crack. I don't know how they implemented it, but I already predicted that net-based DRM can be significantly stronger than disk based. There's just a whole lot more potential for forcing adversaries into white-box reversing which can be a lot harder than simply building a better drive emulator.
I don't think this sort of DRM is going away if there are really no cracks out yet. I doubt the DRM in UbiSofts games is as strong as theoretically possible but it's apparently strong enough. Building DoS-proof, high uptime sites is definitely possible, look at Google or Microsoft for examples of this. So I fully expect other companies to follow their lead. Don't like it? Get a console ....
The iPad isn't competing with netbooks through hardware. The tablet form factor is a distraction - and it may ultimately prove to be a serious weakness rather than a strength. I certainly wouldn't want to do any serious work with a soft keyboard.
The iPad is competing through software, namely, the operating system. It's an attractive proposition for people because traditional computers are an epic failure (and MacOS X hasn't really helped matters).
They have confusing user interfaces, that make it easy to accidentally lose windows behind other windows and expect you to understand concepts that don't appear very often in day to day life, like nested folder hierarchies. Getting software for them is difficult - search engine results can be filled with programs that don't run on your chosen platform, and your relatives/friendly local geek is always telling you not to download stuff from the internet anyway. You live in constant fear of viruses. Your computer frequently breaks or slows down for mysterious reasons and every app seems to constantly be nagging you to update. If you have a Windows box and make the mistake of phoning a company for tech support, you'll just get bounced around different suppliers in a giant finger-pointing game. Probably your computer came weighed down with crap to shave $10 off the price. The list of things regular operating systems do badly is just amazing.
The iPad doesn't run MacOS X because MacOS X, and Windows, and Linux, are all evolutionary dead ends. Steve Jobs knows this. Think about how much progress OS X made in the last 3 years - none. It actually went backwards, Snow Leopard launched with serious regressions some of which are still not fixed. It's neglected and unloved. OS X is adrift because nobody at Apple seems to be working on it anymore. All the attention is on iPhone OS.
Many people decry the things iPhone OS lacks, and it's true, some of the omissions are pretty stupid. Inability to multi-task is something they can get away with on a phone. On a general purpose device where you're supposed to Get Shit Done(tm) I'm not sure it can be left out. But the reason people are going to want an iPad is because the iPhone OS is a fresh start. You don't have to worry about viruses. It doesn't randomly break because of third party software. It's easy to find and buy software. There's no fear because there's a big, well known company standing behind the device and saying "you will have a great experience" and they have the muscle and control to make it happen.
There is an alternative. ChromeOS netbooks are an alternative vision of the future of computing. ChromeOS is also in a sense "locked down", in that it only runs web apps. But these devices will (probably) share many of the same characteristics that makes the iPad appealing. ChromeOS netbooks will not break. They will not start slowly, bogged down by crapware that launches itself at startup just because it can. Users will have no fear of viruses. They won't have to try and remember where they saved their files. The UI will be simple and easy to understand. They will be cheap and have long battery life. They will be backed by the Google name, whilst it may not have the cachet of Apple in the hardware space, it's still an easily recognized and trusted brand.
More importantly for us Slashdotters, they are open source devices and likely to come in a somewhat hackable/reflashable form if the Nexus One is any indication. The future of computing can be less wild west without compromising its freedom or openness.
Whilst I'm not arguing for having ridiculous app review processes or bootloader locks (I think Apples decisions here are retarded), I must note that you can read the source code of the compiler used on the iPad/iPhone (gcc) , and the standard library (darwin). You can also read the source of the browser rendering engine and various other parts.
Whilst that's not as good as the Nexus One where you can read darn near everything, and reflash to your hearts content, the iPad situation is not quite as dire as you make out.
And again, I think people like you are highly unusual. The idea that 10 year olds are going to be compiling their own OS builds is a fantasy for Linux geeks (of which I am one). Just writing a fully functioning, interesting program is challenge enough. Operating systems are basically boring pieces of software - given a choice between making a spinning 3D cube or tweaking the kernel scheduler, I'm pretty sure most kids would rather make a spinning 3D cube. The scheduler hacks can come after they have some years of experience and can get their kicks from solving highly abstract problems. By which point they will certainly be capable of playing with Linux.
Now I'd like to repeat that one can simultaneously believe the direction Apple is going is bad, and that the iPad does not harm the next generation of child tinkerers. These beliefs are not mutually exclusive.
I don't think that's really true. Whilst I'm not generally a fan of Gruber and his rampant Apple fanboyism, he's not stupid and I think the argument he makes is sound. I wrote programs for the BBC Micro back in the 80s - and it sucked. I knew, even as a child, that what I was doing wasn't "real" programming. I didn't even know what "real" programming was as I had never heard of nor did I understand the concept of assembly language back then. Maybe some kids were smart enough to teach themselves assembly language and then hack the OS itself. I just couldn't do that, I didn't have access to the materials and for an 8 year old even BASIC can be tough. I actually didn't do any OS-level hacking until I was 18 (on Linux) and I don't think it did me any harm.
I happen to think the iPhone and iPad are remarkably poor environments for children to learn programming on, mostly because the amount of crap you have to learn in order to make something fun in languages like Objective-C is enormous. JavaScript or even Java is a much better choice. However, Gruber links to some 13 year old who has written an app and published it on the app store. That's awesome and something I could only have dreamed of when I was 13.
And it's not just kids. I was reading an interview the other day with a guy who published "I MAED A GAM3 W1TH Z0MB1ES" on Xbox Live. He did it with the XNA toolkit, in other words it was written in C#. In the interview he said he was glad XNA existed because he wasn't a very experienced programmer and C++ was too difficult for him. But XNA was easy. His game costs a dollar, took a few weeks to make and is wildly profitable. It consistently sits at the top of the indie games charts - because it's excellent. In other words, even though the Xbox is the most closed platform you can imagine, it's still possible for amateurs to compete with the big boys by producing fun games. That's the sort of motivation kids in the 70s and 80s just never had and frankly, I think it more than makes up for having some signature checks here and there.
I don't believe those statistics exist publically.
The question is really about the Xbox 360 at this point, piracy wise. The Wii target market really isn't overlapping much with the typical pirate. The PS3 has a piracy rate of zero because its DRM has never been cracked. The Xbox 360 does suffer some piracy for DVD based games but I don't think any statistics for that are public. It does not have any piracy of content distributed online (arcade, indie).
Xbox 360 piracy is probably not going to reach the same saturation levels as on the PC because doing it tends to result in having your console permanently locked out of the online services which are more and more a part of the Xbox value proposition. Blacklisted consoles aren't able to do multiplayer gaming, can't play some of the excellent Arcade/Indie games, can't use the online video services etc. They're just worth a lot less.
On the other hand, the hardware is pretty darn cheap these days and the ban waves aren't frequent. I read that some people find it cheaper to buy the devices, play pirated games, and when their console gets banned buy a new one because the cost of the games is higher than the cost of the hardware!
From Miguels blog
So in fact Miguel was lamenting time lost under a previous, less enlightened management. Not current problems with .NET.
I remember when Mono was first announced. Miguel at the time argued that the free software world had failed to produce any real competitor to Java or .NET style frameworks despite their absolute dominance of mainstream programming. He didn't think one would appear any time soon either. And guess what - he was right. There is no home grown Linux, Apache or Android equivalent to compete with Java or .NET. And whilst Java is now fully open source, it wasn't safe to assume that'd happen back all those years ago.
So in fact it seems Miguel was right all along - right about the need, right about the solution, right that Microsoft would not attempt to "destroy Linux" by leveraging patents. Instead they specifically promised in writing not to do that. Why? Probably because they don't care about Linux anymore. The world has moved on, what once seemed like a threat to their business no longer is.
Are you sure about that? When I was in China I asked a local if they hated the British due to the opium wars, she just laughed and said no not at all. She said some of the older folks didn't like the Japanese but otherwise the opium wars were an irrelevant historical item. Do you have anything to back up your claim that Chinese people really think that way? I only have an anecdote, but you presented nothing ....
I'm all for citations, but in this case you could have just found it yourself: Dalvik VM internals.
The VM itself is relatively small compared to the rest of the code on the system. I agree it's not obviously intuitive or correct, and I didn't design it. Just repeating what the designers said about why it is like it is.
Unfortunately that's not really true. A const method in c++ can still tweak state it reaches through internal pointers. Const is actually pretty useless in C++ .... it doesn't help with optimization nor multi-threading. A real const system is what you can find in the D2 language.
That's true of standard C++. However GCC has thread safety annotations. We use them at work, they're pretty handy.
What apple calls "blocks" are what other languages have called "closures" and had for decades. Adding closures to Objective-C isn't an interesting advance, and if Siracusa believes that's what makes GCD revolutionary I can only imagine he needs to spend less time writing articles and more time writing or debugging multi-threaded code.
I have yet to see a multi-threaded program that was bottlenecked by lack of GCD like features. And I've written/used a lot of high performance multi-threaded software. I agree with those who say it isn't a big deal: I'd love to know what use cases Apple engineers thought they were optimizing. Which scenarios suddenly got faster because of this?
At any rate, if Apple have somehow achieved great insight into parallel programming that the rest of the industry did not, GCD features can easily be added to other operating systems.