Unfortunately Objective-C is designed such that it combines the worst parts of C with the worst parts of dynamic languages, so your point doesn't really hold. Method dispatch is all dynamic, and in the best case seems to be twice as slow as a C++ vcall. But it only gets that speed by building runtime dispatch caches, ie, trading off memory against CPU. On phones memory is also very limited.
It really is an amazingly stupid language. I am not surprised no-one except Apple uses it. This is the language that thinks it's a good idea to redefine boolean to be YES and NO.
That sort of weird syntax quirk is not a big deal though, it's just a time-waster. The real problems start when you realize that calling a method on a NULL object doesn't crash. Instead it returns zero, another NULL or if the method returns a struct, garbage. So what would be a clean kill with a nice stack trace in any sane language in Objective-C turns into silent propagation through your code of NULL pointers and zeros, until you save state and blow away the users data.
On the iPhone there's no garbage collection. Yes it's back to the days of ref counting, whoopie-doo. The best they have to offer is a kludge called an "auto release pool", which basically just scopes lifetime to the current GUI event. Pretty useless for anything that lasts longer than a button push. It also massively complicates exception handling due to the rules around how auto-release pools stack (yes really).
Then there's the lack of features. No namespaces. No abstract classes. No stack allocation thus no RAII. No operator overloading. No generics, really no type safety at all (calling a non-existant method is a warning not an error). Your code is trivial to decompile. And of course the only really supported development environment is a Mac.
Java might be a stupid language to use on a phone as well, but seriously, I'll take that kind of stupid any day over Objective-C.
this means the demo is great, but the rest of the game is basically the demo over and over again.
Well yeah, but that means if you liked the demo then you'll probably like the full game. I was one of those people. If anything my biggest problem with the game was that there just wasn't enough of it.
Now sure if you don't like the jumping/running mechanic, it's not the game for you, but they had enough variety in the level designs that the demo was pretty representative of the real game experience without making the game boring.
Eh? Most people seem to agree that the ME demo was awesome and actually made the game seem better than it was (primarily because the game is quite short). I played the ME demo through once and immediately bought the game purely on the strength of that.
I think a bigger reason for the poor sales of ME is that it was released around the same time as sequels to several well known series (COD, GoW etc). If you look at the game charts at that time they were whitewashed by sequels.
Most phones can't read traditional 1D bar codes, their cameras aren't up to it. The G1 can, but I'm not sure how useful it is unless you're a super keen comparison shopper (seems to be the only application for the ability so far).
QRcode doesn't vary in size depending on the data length, it varies in how big the squares are. The bigger the squares, obviously, the easier it is for a camera to recognize them at a distance. If you want something like Tag in a QRcode, you could just use tinyurl.com - these URLs encode to quite robust QRcodes: example. By the way, Microsoft may have developer tools, but if all you want to do is encode a URL Google provides an easy way too. Just stick the URL onto the end of this:
This is ideal for turning into a bookmarklet, which is what I did, so now if I want to get a web page from my laptop onto my (Android) phone, I just hit ctrl-l to go to the address bar, add the word "qrcode" to the front and hit enter. Then I start the barcode scanner app and point it at my screen. It usually takes about half a second to scan.
Right, that was always the weakness of git, and although it's improved I still have problems with its usability (or lack of it). For all the dumping Linus does on Subversion/Perforce and its ilk, they are easy to understand and it's basically always clear what you're doing. I haven't used git for a while, but last time I did it was like a box of sharp knives. Although hard to mess up the remote copy, messing up your local copy was much easier.
Yes audio is seriously lacking. However the Android guys clearly know that and the very next OS release is said to have a much more powerful audio API. It should be an over-the-air software update, so hopefully most users will end up having it.
I'm not sure what you mean by the iPhone APIs being more usable. I haven't ponied up my $99 to find out what they're like, but the Android API is very well thought out. The way app components are loosely coupled is, I think, quite interesting and could potentially lead to a lot of really interesting and useful apps. There are already some unique apps out there (like Locale) but the API is pretty unusual, and people are still figuring out how to best exploit it. The iPhone API in contrast seems much more traditional - nothing wrong with that, but it might prove limiting later.
I won't go into what I think of Objective-C. Suffice it to say that the version of Obj-C they shipped is not even garbage collected. I'm not even sure it's worth trying to compare the platforms usability for developers when there's such a massive and fundametal lack on the iPhone side. I mean it's the 21st century, are we really expected to put up with memory leaks and heap corruption in our phone software too?
There isn't any equivalent to the RIAA or MPAA for video games, so I assume that by "industry heavies" you mean the people who actually make popular games. And yeah I'd absolutely expect the panel to be stuffed with such people, seeing as it's their decisions that are being examined, and their livelyhood that is impacted by any final decision!
You idiot. You just proved the authors point! Ignoring copyright laws for your own convenience isn't "civil disobedience" because copyright law is entirely opt-in. If you think it's a fundamentally bad thing, go right ahead and contribute to the body of creative works not protected by it. Nobody will stop you. They will actually cheer you on.
Grabbing copyrighted stuff without paying for it (which is what I have to assume you mean by civil disobedience) isn't some great revolution, it's screwing over your neighbour to save yourself a buck.
That's a nice idea, but the only reason DRM exists is because law enforcement isn't perfect, in fact outside of mass piracy cases they don't even try. So that position wouldn't make a whole lot of sense, because people would say, so what? I can't rely on copyright anyway, so taking it away from me won't change much. All it'd do is make DRM even more draconian than today as companies lose the ability to prosecute the really big professional pirates.
Keyword, at Intel. TC is the work of a large committee, with many companies. If you read the specs the conflicting goals are obvious. Simple question - is the TPM meant to resist hardware attacks or not? Sometimes it is, sometimes it isn't. It's not very good at this currently, you could beat 1.1 TPMs with a piece of wire (literally), but Intel are moving them inside the south bridge, where hardware attacks will be much harder.
In theory at least TC can be used to implement better DRM, because it makes it harder for people to debug the implementation. But there are still many unimplemented features needed to make this work, eg, trusted I/O, and no real roadmap to implement them. And even when done, it'll be years before the technology is widespread, and it's so complicated I'm sure Joanna and friends will be able to find many more problems with it.
The real promise of TC is a way out of the malware quagmire. Being able to run a web browser and know - for sure - that it's not been compromised by a password sniffer or the like, well, that's a useful thing and that's what TXT lets you do (when complete). A remote voting app that can prove to the server that it's a real human casting the vote and not a bot? A very useful thing, perhaps even a necessary precondition for digital democracy. TC can make this happen. DRM? Well if you want a crappy inferior very complex form of DRM then sure, go ahead, but it'll be less secure and more expensive than the equivalent implemented in controlled hardware like the PS3, Xbox360, mobile phones etc...
You want a bit of inflation though, exactly because it encourages people to invest instead of sit on their money. If money is constantly being sucked out of the system for savings so does economic activity. Whereas if you take somebodies savings and put it into something with a known return, like building a port or a power station, then you've achieved economic growth at the same time as providing savings.
The problem is that it became too hard to figure out what really had a "known return" and what didn't, because the ratings agencies went on a collosal bender and decided that with enough magic paperwork they could make lead into gold. But the underlying theory makes sense.
No it isn't stupid, you haven't bothered to understand what it's for. The signing simply authenticates apps as coming from a particular person or organization, it doesn't make any assertions about that person or organization. The point is to ensure one developer can't "upgrade" his competitors app with a broken version, etc. It's all about sandboxing.
Well, you could buy a G1 Dev Phone. That way you get an iPhone like device but you can do a lot of stuff to it - including reflashing the entire OS with a custom build (there is no locking of any kind).
Is it as good as an iPhone? Eh, no, not really. I have one beside me. On the other hand, is it better than other phones I've used? Yes I think so. I never used a BlackBerry so I can't compare to that, but I've used feature phones and WinMo phones and Symbian phones, and I'm pretty sure that right now the worlds best smartphone OSs are (1) iPhone (2) Android in that order.
That said, the differences just aren't that big, and the potential is clearly there. If I were Apple I'd be looking at Android as the most likely major competitor for 2009. Right now it's sort of buggy/flaky in some areas, but these problems can be fixed via over the air OS updates. The G1 hardware really isn't as bad as people make out, especially if (like me) you find the iPhone keyboard irritating. I ran a typing race with my iPhone owning brother and I was faster by about 8-10 seconds on the quick brown fox.
Basically, although the G1 [Dev] Phone isn't quite competitive with the iPhone today, I'm pretty sure by the end of 2009 there'll be at one handset that gives it a really strong run for its money.
Well, I won't accept that, you can write this stuff at ToD if you want, but not here.
Firstly, there is no particular reason why peak oil cannot be handled purely through market forces. If you sit down with a spreadsheet and run the numbers (as I have done) you'll find that given the rate at which we manufacture new vehicles, we can reduce demand in line with a 5-8% global decline rate simply through people upgrading their cars to more efficient models. It requires no greater car sales than usual, and in fact can even get by with less, because if you analyze car sales vs efficiency during the 70s/80s you'll see that the average efficiency of the fleet did increase quite dramatically during this time, even during a recession, probably due to a mix of more efficient vehicle upgrades and internal fleet re-arrangements. Read some of the analyses by Staniford if you want to learn more about this.
Secondly, your belief that all economic activity is energy driven is wrong - consider the entire creative industries, which are a massive part of the economy but are very low energy.
Thirdly, food production is not as dependent upon oil as you believe. Fertilizer production in particular uses fossil fuels because it's convenient, not because it's chemically required.
Uh, dude, are you really slamming Microsoft for dropping support for macros over a decade old, except not really because there's a patch?
What are you comparing them to here, exactly? I mean, Linux distros routinely break backwards compatibility with themselves every 6 months, and they're proud of it!
Your problem is that your work is boring and unfulfilling. The solution is not necessarily to go it alone, which has lots of problems as pointed out elsewhere. You might want to consider just looking for a different, also well paid, job.
A good start would be to learn something other than Java, and get experience in it, perhaps doing hobbyist/open source development. I hate to be blunt but Java is the language of choice for large, stagnant companies which are resistant to change, because it's a tool that is also stagnant and resistant to change. Learn something like C++ then go work on game engines, or search engines, or raytracers for the movie industry, or operating systems, or....
Yeah it's not well thought out. Why would the owner of a large botnet try and knock out peering when that'd just interfere with the flow of highly profitable spam?
The XBox360 cores don't have any superscalar features, things like branch prediction, instruction re-ordering or speculative execution. That means they use much less power than a regular core (and so generate less heat), but only run branchy game logic type code at around half the speed.
There is already a competitive market for creative works - if you don't want to play Spore you're welcome to play another game instead, and get your entertainment that way. Your whole argument is ludicrous, it suggests that a specific apple in the fruit store would have an infinitely high price because the fruit store has a monopoly on that specific, shiny, juicy apple... unless you steal it, in which case the price becomes more reasonable.
For instance, online play that is only accessible to paying customers might convince pirates who downloaded your game to start paying for it.
Ignoring for the moment that not all games make sense to have online, how will you enforce that? All you've said is "you can't beat the pirates... unless you write a server" which is ridiculous, all that will happen is the pirates will clone the server and play on that. Preventing the cloning of online services is hard - Microsoft and Sony seem to have managed it, but they have fully blown hardware security.
The primary benefit of paying for the game is meant to be that you.... get to play it!
Yes it's possible they'll beat their estimate, however, they already pushed it back once. Their first guess was "1-2 months" which expires in two weeks, now it's Feb. So we'll see.
Yeah, but presumably there's some quality bar at which people would rather buy a movie than download it. Whilst movies are released simultaneously on DVD and BluRay I agree it probably won't impact piracy much. If studios start releasing movies on BluRay and on DVD only later, I can see it maybe having some impact, although assuming digital camera technology continues to improve after a few years you'll be able to make nearly lossless rips just by pointing the camera at the screen.
Unfortunately Objective-C is designed such that it combines the worst parts of C with the worst parts of dynamic languages, so your point doesn't really hold. Method dispatch is all dynamic, and in the best case seems to be twice as slow as a C++ vcall. But it only gets that speed by building runtime dispatch caches, ie, trading off memory against CPU. On phones memory is also very limited.
It really is an amazingly stupid language. I am not surprised no-one except Apple uses it. This is the language that thinks it's a good idea to redefine boolean to be YES and NO.
That sort of weird syntax quirk is not a big deal though, it's just a time-waster. The real problems start when you realize that calling a method on a NULL object doesn't crash. Instead it returns zero, another NULL or if the method returns a struct, garbage. So what would be a clean kill with a nice stack trace in any sane language in Objective-C turns into silent propagation through your code of NULL pointers and zeros, until you save state and blow away the users data.
On the iPhone there's no garbage collection. Yes it's back to the days of ref counting, whoopie-doo. The best they have to offer is a kludge called an "auto release pool", which basically just scopes lifetime to the current GUI event. Pretty useless for anything that lasts longer than a button push. It also massively complicates exception handling due to the rules around how auto-release pools stack (yes really).
Then there's the lack of features. No namespaces. No abstract classes. No stack allocation thus no RAII. No operator overloading. No generics, really no type safety at all (calling a non-existant method is a warning not an error). Your code is trivial to decompile. And of course the only really supported development environment is a Mac.
Java might be a stupid language to use on a phone as well, but seriously, I'll take that kind of stupid any day over Objective-C.
Well yeah, but that means if you liked the demo then you'll probably like the full game. I was one of those people. If anything my biggest problem with the game was that there just wasn't enough of it.
Now sure if you don't like the jumping/running mechanic, it's not the game for you, but they had enough variety in the level designs that the demo was pretty representative of the real game experience without making the game boring.
Eh? Most people seem to agree that the ME demo was awesome and actually made the game seem better than it was (primarily because the game is quite short). I played the ME demo through once and immediately bought the game purely on the strength of that.
I think a bigger reason for the poor sales of ME is that it was released around the same time as sequels to several well known series (COD, GoW etc). If you look at the game charts at that time they were whitewashed by sequels.
Most phones can't read traditional 1D bar codes, their cameras aren't up to it. The G1 can, but I'm not sure how useful it is unless you're a super keen comparison shopper (seems to be the only application for the ability so far).
QRcode doesn't vary in size depending on the data length, it varies in how big the squares are. The bigger the squares, obviously, the easier it is for a camera to recognize them at a distance. If you want something like Tag in a QRcode, you could just use tinyurl.com - these URLs encode to quite robust QRcodes: example. By the way, Microsoft may have developer tools, but if all you want to do is encode a URL Google provides an easy way too. Just stick the URL onto the end of this:
http://chart.apis.google.com/chart?cht=qr&chs=350x350&chl=http://whatever.com
This is ideal for turning into a bookmarklet, which is what I did, so now if I want to get a web page from my laptop onto my (Android) phone, I just hit ctrl-l to go to the address bar, add the word "qrcode" to the front and hit enter. Then I start the barcode scanner app and point it at my screen. It usually takes about half a second to scan.
Right, that was always the weakness of git, and although it's improved I still have problems with its usability (or lack of it). For all the dumping Linus does on Subversion/Perforce and its ilk, they are easy to understand and it's basically always clear what you're doing. I haven't used git for a while, but last time I did it was like a box of sharp knives. Although hard to mess up the remote copy, messing up your local copy was much easier.
Yes audio is seriously lacking. However the Android guys clearly know that and the very next OS release is said to have a much more powerful audio API. It should be an over-the-air software update, so hopefully most users will end up having it.
I'm not sure what you mean by the iPhone APIs being more usable. I haven't ponied up my $99 to find out what they're like, but the Android API is very well thought out. The way app components are loosely coupled is, I think, quite interesting and could potentially lead to a lot of really interesting and useful apps. There are already some unique apps out there (like Locale) but the API is pretty unusual, and people are still figuring out how to best exploit it. The iPhone API in contrast seems much more traditional - nothing wrong with that, but it might prove limiting later.
I won't go into what I think of Objective-C. Suffice it to say that the version of Obj-C they shipped is not even garbage collected. I'm not even sure it's worth trying to compare the platforms usability for developers when there's such a massive and fundametal lack on the iPhone side. I mean it's the 21st century, are we really expected to put up with memory leaks and heap corruption in our phone software too?
You're kind of assuming that:
People in developing countries somehow are only capable of making things for export
There isn't any equivalent to the RIAA or MPAA for video games, so I assume that by "industry heavies" you mean the people who actually make popular games. And yeah I'd absolutely expect the panel to be stuffed with such people, seeing as it's their decisions that are being examined, and their livelyhood that is impacted by any final decision!
You idiot. You just proved the authors point! Ignoring copyright laws for your own convenience isn't "civil disobedience" because copyright law is entirely opt-in. If you think it's a fundamentally bad thing, go right ahead and contribute to the body of creative works not protected by it. Nobody will stop you. They will actually cheer you on.
Grabbing copyrighted stuff without paying for it (which is what I have to assume you mean by civil disobedience) isn't some great revolution, it's screwing over your neighbour to save yourself a buck.
That's a nice idea, but the only reason DRM exists is because law enforcement isn't perfect, in fact outside of mass piracy cases they don't even try. So that position wouldn't make a whole lot of sense, because people would say, so what? I can't rely on copyright anyway, so taking it away from me won't change much. All it'd do is make DRM even more draconian than today as companies lose the ability to prosecute the really big professional pirates.
Keyword, at Intel. TC is the work of a large committee, with many companies. If you read the specs the conflicting goals are obvious. Simple question - is the TPM meant to resist hardware attacks or not? Sometimes it is, sometimes it isn't. It's not very good at this currently, you could beat 1.1 TPMs with a piece of wire (literally), but Intel are moving them inside the south bridge, where hardware attacks will be much harder.
In theory at least TC can be used to implement better DRM, because it makes it harder for people to debug the implementation. But there are still many unimplemented features needed to make this work, eg, trusted I/O, and no real roadmap to implement them. And even when done, it'll be years before the technology is widespread, and it's so complicated I'm sure Joanna and friends will be able to find many more problems with it.
The real promise of TC is a way out of the malware quagmire. Being able to run a web browser and know - for sure - that it's not been compromised by a password sniffer or the like, well, that's a useful thing and that's what TXT lets you do (when complete). A remote voting app that can prove to the server that it's a real human casting the vote and not a bot? A very useful thing, perhaps even a necessary precondition for digital democracy. TC can make this happen. DRM? Well if you want a crappy inferior very complex form of DRM then sure, go ahead, but it'll be less secure and more expensive than the equivalent implemented in controlled hardware like the PS3, Xbox360, mobile phones etc ...
You want a bit of inflation though, exactly because it encourages people to invest instead of sit on their money. If money is constantly being sucked out of the system for savings so does economic activity. Whereas if you take somebodies savings and put it into something with a known return, like building a port or a power station, then you've achieved economic growth at the same time as providing savings.
The problem is that it became too hard to figure out what really had a "known return" and what didn't, because the ratings agencies went on a collosal bender and decided that with enough magic paperwork they could make lead into gold. But the underlying theory makes sense.
No it isn't stupid, you haven't bothered to understand what it's for. The signing simply authenticates apps as coming from a particular person or organization, it doesn't make any assertions about that person or organization. The point is to ensure one developer can't "upgrade" his competitors app with a broken version, etc. It's all about sandboxing.
Well, you could buy a G1 Dev Phone. That way you get an iPhone like device but you can do a lot of stuff to it - including reflashing the entire OS with a custom build (there is no locking of any kind).
Is it as good as an iPhone? Eh, no, not really. I have one beside me. On the other hand, is it better than other phones I've used? Yes I think so. I never used a BlackBerry so I can't compare to that, but I've used feature phones and WinMo phones and Symbian phones, and I'm pretty sure that right now the worlds best smartphone OSs are (1) iPhone (2) Android in that order.
That said, the differences just aren't that big, and the potential is clearly there. If I were Apple I'd be looking at Android as the most likely major competitor for 2009. Right now it's sort of buggy/flaky in some areas, but these problems can be fixed via over the air OS updates. The G1 hardware really isn't as bad as people make out, especially if (like me) you find the iPhone keyboard irritating. I ran a typing race with my iPhone owning brother and I was faster by about 8-10 seconds on the quick brown fox.
Basically, although the G1 [Dev] Phone isn't quite competitive with the iPhone today, I'm pretty sure by the end of 2009 there'll be at one handset that gives it a really strong run for its money.
Oh great. The doomers are invading Slashdot.
Well, I won't accept that, you can write this stuff at ToD if you want, but not here.
Firstly, there is no particular reason why peak oil cannot be handled purely through market forces. If you sit down with a spreadsheet and run the numbers (as I have done) you'll find that given the rate at which we manufacture new vehicles, we can reduce demand in line with a 5-8% global decline rate simply through people upgrading their cars to more efficient models. It requires no greater car sales than usual, and in fact can even get by with less, because if you analyze car sales vs efficiency during the 70s/80s you'll see that the average efficiency of the fleet did increase quite dramatically during this time, even during a recession, probably due to a mix of more efficient vehicle upgrades and internal fleet re-arrangements. Read some of the analyses by Staniford if you want to learn more about this.
Secondly, your belief that all economic activity is energy driven is wrong - consider the entire creative industries, which are a massive part of the economy but are very low energy.
Thirdly, food production is not as dependent upon oil as you believe. Fertilizer production in particular uses fossil fuels because it's convenient, not because it's chemically required.
Uh, dude, are you really slamming Microsoft for dropping support for macros over a decade old, except not really because there's a patch?
What are you comparing them to here, exactly? I mean, Linux distros routinely break backwards compatibility with themselves every 6 months, and they're proud of it!
Your problem is that your work is boring and unfulfilling. The solution is not necessarily to go it alone, which has lots of problems as pointed out elsewhere. You might want to consider just looking for a different, also well paid, job.
A good start would be to learn something other than Java, and get experience in it, perhaps doing hobbyist/open source development. I hate to be blunt but Java is the language of choice for large, stagnant companies which are resistant to change, because it's a tool that is also stagnant and resistant to change. Learn something like C++ then go work on game engines, or search engines, or raytracers for the movie industry, or operating systems, or ....
Yeah it's not well thought out. Why would the owner of a large botnet try and knock out peering when that'd just interfere with the flow of highly profitable spam?
The XBox360 cores don't have any superscalar features, things like branch prediction, instruction re-ordering or speculative execution. That means they use much less power than a regular core (and so generate less heat), but only run branchy game logic type code at around half the speed.
I wager a fine Cuban cigar that it's leap second related.
What kind of pseudo-intellectual babble is that?
There is already a competitive market for creative works - if you don't want to play Spore you're welcome to play another game instead, and get your entertainment that way. Your whole argument is ludicrous, it suggests that a specific apple in the fruit store would have an infinitely high price because the fruit store has a monopoly on that specific, shiny, juicy apple ... unless you steal it, in which case the price becomes more reasonable.
Ignoring for the moment that not all games make sense to have online, how will you enforce that? All you've said is "you can't beat the pirates ... unless you write a server" which is ridiculous, all that will happen is the pirates will clone the server and play on that. Preventing the cloning of online services is hard - Microsoft and Sony seem to have managed it, but they have fully blown hardware security.
The primary benefit of paying for the game is meant to be that you .... get to play it!
Yes it's possible they'll beat their estimate, however, they already pushed it back once. Their first guess was "1-2 months" which expires in two weeks, now it's Feb. So we'll see.
Yeah, but presumably there's some quality bar at which people would rather buy a movie than download it. Whilst movies are released simultaneously on DVD and BluRay I agree it probably won't impact piracy much. If studios start releasing movies on BluRay and on DVD only later, I can see it maybe having some impact, although assuming digital camera technology continues to improve after a few years you'll be able to make nearly lossless rips just by pointing the camera at the screen.