> But the thing that makes the iPhone great to develop for... is that it's *standard*
That's a temporary advantage. Already it's fragmenting and it's going to continue to fragment every time Apple releases new and improved devices.
To be honest, I don't see apps as the key strategic advantage that is going to make Android successful. I think Android will eventually win because the carriers see it as a less bad outcome than handing over control of their mobile platforms to Apple, and thus while they will certainly stock the iPhone to meet consumer demand, they'll fill their store fronts with phones running Android and the default for anyone who walks in off the street and just asks for a phone is going to be Android.
To be fair, Oblivion has a mix of both kinds of enemies. Some are leveled and some are not. I would agree they should have weighted it a little more towards non-leveled, but as long as you level up intelligently I find it does get marginally easier as I play along (although spending mental effort on how to level efficiently is not exactly the most fun thing).
Playing devil's advocate (I actually think there's an interesting argument here, even if Murdoch is on a stupid extreme of it): you're presenting a false dichotomy - either content is allowed to be indexed and presented by search engines at any level of detail or it should not be indexed at all. It's perfectly reasonable for there to be a middle ground where content is indexed but presented with only the minimal information required to evaluate its worth as a search result.
Where do you think the line should be? Should Google be able to copy the entire content of an article and present the whole thing sans ads in the name of indexing it? I presume you would agree that's at least a little bit wrong. At the other extreme Google can't show anything about the indexed site. That's a little bit stupid - most of the internet would cease to function effectively under that paradigm. So there's a gray area in between the extremes where it goes from acceptable to not acceptable.
So at risk of defending Murdoch (who I don't agree with, btw), there's at least an argument to be had here that is more interesting than what you are pretending.
It might be true that you legally have to accept cash, but you don't have to do it on any terms.
In Australia large companies have now started charging a *surcharge* to accept cash as payment. It started when they introduced surcharges on credit cards a while back, presumably expecting to rake in a nice little profit from people too lazy write a check. Instead I assume they saw a horrendous rise in costs as everyone abandoned credit card and started sending them paper checks or even worse, walking into a store front and trying to give them cash. So they figured out a new idea: charge people extra to pay cash! So you now have the rather ridiculous situation where you pay an amount for their service but virtually any way you try to give them the money they surcharge and thus in effect the service costs about 3% more. There is just one way to avoid the surcharge - authorize them to direct debit from your bank account - the corporate wet dream of being able to go in and plunder anything they want any time and it's near impossible to stop without taking drastic action (closing account, writing affidavit / letter to bank declaring you withdraw consent, etc.).
I did a bit of digging around and they seem to be *extremely* coy about what technology platform they are in fact running on. There are really no technical details available anywhere. The best info I could glean was from job advertisements which would indicate they are running Java (no surprise) but other quotes indicate they have done some heavy native tuning which indicates they may well have a slab of native code they are using too.
So my guess is Java + proprietary native code layer. Makes an interesting thought - if they really integrated at the level they seem to indicate they have into the linux kernel, for eg. I wonder if some or all of it is technically GPL? But who would ask for the source? Only one of their customers can.
The platform was limited by the run time which was Windows /.NET. If you dig into the stories you can find quotes indicating that a crucial advantage of the new platform is that they were able to examine and tune every layer of the stack from the kernel upwards to avoid latencies right down to the processor level itself. Only Microsoft can do that for windows and they aren't in a hurry to make customized versions of their stack for individual applications.
If you dig around enough you will find that one of the reasons they are able to achieve so much better latency is that they were able to optimize the entire stack (kernel upwards) because it was all open source. So yes, in fact, this is a true win for real open source.
> everyone having their own DLL would be the same as just statically linking everything.
It's still marginally better to use a DLL.
If someone runs multiple instances of your app, it will only load the DLL once and the two instances will share the code. Windows may even keep the DLL mapped into memory between runs, so it is faster to load even if you are just closing and relaunching single instances of the app (not 100% sure about this). It's especially nice if your app actually consists of a bunch of executables - each one can just be a tiny shell (10 KB) that does nothing other than invokes the single DLL with a different call. You save memory, startup time and space.
This kind of thing was one of the factors that made me decide not to apply for a green card when it was offered. Once I looked into it I realized it was an untenable way to live my life - settling in a country but living forever knowing that a breach of any of a whole raft of obscure and ambiguous constraints and restrictions might see me kicked out of the country despite having maybe a house, family, job, kids or all kinds of other commitments. In fact, the way I understood it at the time, they could basically terminate your greencard for *any* reason - just because they felt like it. No one should live with that threat hanging over their head. Of course, one can (and probably should) apply for citizenship eventually, but that might be 10 years down the track.
> since advertising works I must be in the minority
Or more likely, it does work on you, and you just don't realize. Marketers are a bit more canny than people realize. They know that 95% of their ads generate sceptisim or worse in most critical thinking people. But they also know that underneath the conscious brain your lower instincts are slowly being reprogrammed even against your will. Even if you consciously hate a brand, they may be happy if you just recognize the name. They know that however much you hate it, if confronted with the brand you know and one you never heard of before you will choose the one you know. You can't 'opt out' of this. It's happening just by being exposed to ads and there is *nothing* you can do about it except avoid the ads.
If that's their intention then they fail horribly.
Whenever I see iTunes it makes me think what a nightmare it must be owning a Mac where the entire operating system would be as awful as iTunes is and I thank the gods that I'm running Windows. Of course, it's a totally wrong impression, but that's what it says to me.
Screw bandwidth, these days what I want fixed is latency.
Light can travel around the earth in about 0.02 seconds, yet latency on connections is about 10 - 30 times that. Having more bandwidth might let me download yet another movie a bit faster but it won't enable certain types of application that I think are far more interesting such as distributed computing and real time collaboration (eg: games) that currently are very limited by latency.
Sorry, it's got to be 'active' to be intercepting headers and page data to look for whether the page has asked to be rendered with chrome. It's entirely possible that it crashes the browser on absolutely any site and even opens brand new security holes.
> This is a good point - if software doesn't explain itself, then it is broken.
I think the situation is more subtle than that. For consumer software that grandma and Joe SixPack are meant to use, you're probably right. However there are domains where there is intrinsic complexity embodied in the tasks the software is to be used for. I think it's not wrong that people may need training to use this kind of software effectively. This is because there a lot of situations where simplification is in direct competition with flexibility and power.
Time for a bad analogy: you could say that a guitar has a terrible interface - if someone with no experience tries to use it they fail horrendously. They can barely make a comprehensible sound that resembles anything like music. Yet if we transformed the interface to something a complete novice could use to make reasonable music we would absolutely ruin it for those skilled in the art.
> Obviously, someone shouldn't be allowed to fly the flag of Nazi Germany outside their house
Symbols are a tricky issue, as they mean different things to different people. The swastika is a positive symbol in many parts of the world. You can walk the streets in parts of India and see people who have decorated their houses with it. Flags - one of my enduring memories of living in a southern US state was the prevalence of Confederate flags mounted on flag poles in people's yards. Obviously to these folks it is a symbol of pride and yet to many it symbolises slavery. I certainly found it very intimidating.
Who is to decide when people disagree about what a symbol means?
I'm a relatively new parent too, and I've actually wondered why these devices aren't more prevalent. I think I saw a version mounted in the child's shoes which makes a bit more sense.
It's not really because I feel it's necessary for security. It's just simple convenience. I hope to allow my child enormous freedom. I want to be able to say 'bye bye' to them in the morning and let them go out and play around the neighborhood wherever they like and not even need to ask where they're going, and not see or hear from them until they come back hungry at lunch or even dinner time. The one flaw in that plan is they have a terrible sense of time and so having something that allows me to know roughly where they are so I can make sure they're not 10 miles away when we have to leave to go somewhere. We could use a cell phone but I'd have to pester them with calls constantly whereas this is totally non-intrusive, much better for fostering 'self-reliance' and all the other stuff people are harping on about.
From what I'm able to tell young kids ( 10 years old) don't have much concept of privacy and couldn't care less if they are monitored. They just want freedom to play and do what they want at that age.
You seem to be under the illusion that the purchase contract for your steeply discounted OEM netbook copy of XP included some kind of promise of ongoing support from Microsoft. It didn't. Zero. Nothing. None. Go read the EULA. Even if you did have a case, your case is with the OEM supplier of your netbook. That's the whole point of OEM copies of windows. So go talk to them about it. Microsoft provides updates and bug fixes AT THEIR DISCRETION.
If you really want to pursue it, you can start by purchasing incident support (or a technet or msdn subscription which includes it). Then you can raise a case. And then if you are extremely lucky they may provide you with a hotfix that will be unsupported (as in, you have problems, you are paying more support money). Of course, you will have paid far more than just the cost of updating to Win7, but hey, why do something sensible when it would ruin a perfectly good Slashdot rant?
You know, after using Chrome I've decided that actually, for me, speed IS everything - or at least, the most critical factor in my browsing experience.
I can't explain why rationally that it matters so much whether it takes 0.2 seconds or 0.8 seconds for a tab to open, or 1 second instead of four seconds to cold start a new browser instance. I just know that it completely changes how I feel about the browser from it being a tool I'm fighting with and struggling to control to something that's almost like it's an extension of my own body. It's the same as with cars - people obsess over how a vehicle 'handles' which has no practical impact for the everyday purpose of travelling from A to B, and yet a car that handles poorly will be shunned because it just feels wrong.
I'm actually happier with Chrome + ads than I am with FireFox and no ads because Chrome actually feels *more* responsive than FireFox even though it is burdened with the ads as well. In fact, I half suspect that this may be a part of the reason Google invested in Chrome.
Thanks - I didn't realize that you could virtualize OSX as long as you do it in OSX itself.
I still don't fancy paying money to a company that forces me to do that on principle, but it's nice to know it's possible if I ever end up having to support OSX.
Developers don't have much choice these days due to Apple's refusal to license OSX for any kind of use other than running on Apple-made silicon.
Which is also the reason I don't support Macs in my software business. While I can fire up and watch 12 virtual machines - one for each version of windows and a couple of variants of linux that I support - in a matter of seconds and initiate an automated test suite that verifies my software works on every single one, to do that with OSX I'd have to have something like 8 physical boxes and monitors sitting on my desk.
> I have the highest respect for AFP and the Australia Police Service.
What are you talking about? For one thing, there is no such thing as the "Australia Police Service". And for another, the AFP have proven themselves time and time again to be the biggest bunch of boobs imaginable. They can barely arrest anybody without tripping over themselves and then it's usually the wrong guy, discovered, if we're lucky after the poor sod has been held without charge for the longest time period legally available to them.
> Scala and Groovy are nice, but I don't see why they are any better or different than JRuby or Jython.
Each one has it's own special advantages.
Scala - it's the only one that has kept static typing. While many people have turned against static typing, I think vast businesses with huge software will be much slower to let go of it. As a direct result of the static typing, Scala's performance is much much better for many use cases, and it also offers the possibility of keeping all the power of the refactoring tools Java programmers are used to in their IDEs.
Groovy - unlike JRuby or Jython, Groovy integrates with Java 100%. While the others can certainly use java classes and invoke java libraries, once you get to more complex integration or fringe areas they often break down. For example, unlike Groovy you can't define all the kinds of annotations in Jython that you can in Java. That might sound like a niche use case until you realize that all the modern Java libraries such as EJB, Hibernate, Stripes and many others are building heavily on these annotations and they just won't work without them.
Personally, I hope that Scala gets adoption because I think static typing has never really had a fair go on the JVM with a truly popular language using type inference to make it convenient. On the other hand, Scala is not ready yet, so for the time being, Groovy is doing it for me.
> And you get to pay for all this with a huge performance hit.
Are you sure about that? As in, actual benchmarks sure?
One of the reasons I find Scala very interesting is that it produces byte code which, in many cases, is identical to what raw Java produces. If Scala invokes a Java method, the byte code just calls it directly. Unlike Groovy where there are about 20 layers on the stack between each call.
From my rather trivial benchmarks, Scala seems only marginally slower than raw Java code. That is pretty amazing given that java itself is these days considered one of the best performing languages available.
Except, unless something changed, Amazon payments requires *the customer* to have or obtain an Amazon account, something which I find offensive for processing a single payment. This is where PayPal wins over so many others despite sucking in a multitude of ways.
> But the thing that makes the iPhone great to develop for ... is that it's *standard*
That's a temporary advantage. Already it's fragmenting and it's going to continue to fragment every time Apple releases new and improved devices.
To be honest, I don't see apps as the key strategic advantage that is going to make Android successful. I think Android will eventually win because the carriers see it as a less bad outcome than handing over control of their mobile platforms to Apple, and thus while they will certainly stock the iPhone to meet consumer demand, they'll fill their store fronts with phones running Android and the default for anyone who walks in off the street and just asks for a phone is going to be Android.
To be fair, Oblivion has a mix of both kinds of enemies. Some are leveled and some are not. I would agree they should have weighted it a little more towards non-leveled, but as long as you level up intelligently I find it does get marginally easier as I play along (although spending mental effort on how to level efficiently is not exactly the most fun thing).
If your goal is to recognize text (OCR), you might look at tesseract:
http://code.google.com/p/tesseract-ocr/
Playing devil's advocate (I actually think there's an interesting argument here, even if Murdoch is on a stupid extreme of it): you're presenting a false dichotomy - either content is allowed to be indexed and presented by search engines at any level of detail or it should not be indexed at all. It's perfectly reasonable for there to be a middle ground where content is indexed but presented with only the minimal information required to evaluate its worth as a search result.
Where do you think the line should be? Should Google be able to copy the entire content of an article and present the whole thing sans ads in the name of indexing it? I presume you would agree that's at least a little bit wrong. At the other extreme Google can't show anything about the indexed site. That's a little bit stupid - most of the internet would cease to function effectively under that paradigm. So there's a gray area in between the extremes where it goes from acceptable to not acceptable.
So at risk of defending Murdoch (who I don't agree with, btw), there's at least an argument to be had here that is more interesting than what you are pretending.
It might be true that you legally have to accept cash, but you don't have to do it on any terms.
In Australia large companies have now started charging a *surcharge* to accept cash as payment. It started when they introduced surcharges on credit cards a while back, presumably expecting to rake in a nice little profit from people too lazy write a check. Instead I assume they saw a horrendous rise in costs as everyone abandoned credit card and started sending them paper checks or even worse, walking into a store front and trying to give them cash. So they figured out a new idea: charge people extra to pay cash! So you now have the rather ridiculous situation where you pay an amount for their service but virtually any way you try to give them the money they surcharge and thus in effect the service costs about 3% more. There is just one way to avoid the surcharge - authorize them to direct debit from your bank account - the corporate wet dream of being able to go in and plunder anything they want any time and it's near impossible to stop without taking drastic action (closing account, writing affidavit / letter to bank declaring you withdraw consent, etc.).
I did a bit of digging around and they seem to be *extremely* coy about what technology platform they are in fact running on. There are really no technical details available anywhere. The best info I could glean was from job advertisements which would indicate they are running Java (no surprise) but other quotes indicate they have done some heavy native tuning which indicates they may well have a slab of native code they are using too.
So my guess is Java + proprietary native code layer. Makes an interesting thought - if they really integrated at the level they seem to indicate they have into the linux kernel, for eg. I wonder if some or all of it is technically GPL? But who would ask for the source? Only one of their customers can.
The platform was limited by the run time which was Windows / .NET. If you dig into the stories you can find quotes indicating that a crucial advantage of the new platform is that they were able to examine and tune every layer of the stack from the kernel upwards to avoid latencies right down to the processor level itself. Only Microsoft can do that for windows and they aren't in a hurry to make customized versions of their stack for individual applications.
If you dig around enough you will find that one of the reasons they are able to achieve so much better latency is that they were able to optimize the entire stack (kernel upwards) because it was all open source. So yes, in fact, this is a true win for real open source.
> everyone having their own DLL would be the same as just statically linking everything.
It's still marginally better to use a DLL.
If someone runs multiple instances of your app, it will only load the DLL once and the two instances will share the code. Windows may even keep the DLL mapped into memory between runs, so it is faster to load even if you are just closing and relaunching single instances of the app (not 100% sure about this). It's especially nice if your app actually consists of a bunch of executables - each one can just be a tiny shell (10 KB) that does nothing other than invokes the single DLL with a different call. You save memory, startup time and space.
This kind of thing was one of the factors that made me decide not to apply for a green card when it was offered. Once I looked into it I realized it was an untenable way to live my life - settling in a country but living forever knowing that a breach of any of a whole raft of obscure and ambiguous constraints and restrictions might see me kicked out of the country despite having maybe a house, family, job, kids or all kinds of other commitments. In fact, the way I understood it at the time, they could basically terminate your greencard for *any* reason - just because they felt like it. No one should live with that threat hanging over their head. Of course, one can (and probably should) apply for citizenship eventually, but that might be 10 years down the track.
> since advertising works I must be in the minority
Or more likely, it does work on you, and you just don't realize. Marketers are a bit more canny than people realize. They know that 95% of their ads generate sceptisim or worse in most critical thinking people. But they also know that underneath the conscious brain your lower instincts are slowly being reprogrammed even against your will. Even if you consciously hate a brand, they may be happy if you just recognize the name. They know that however much you hate it, if confronted with the brand you know and one you never heard of before you will choose the one you know. You can't 'opt out' of this. It's happening just by being exposed to ads and there is *nothing* you can do about it except avoid the ads.
If that's their intention then they fail horribly.
Whenever I see iTunes it makes me think what a nightmare it must be owning a Mac where the entire operating system would be as awful as iTunes is and I thank the gods that I'm running Windows. Of course, it's a totally wrong impression, but that's what it says to me.
Screw bandwidth, these days what I want fixed is latency.
Light can travel around the earth in about 0.02 seconds, yet latency on connections is about 10 - 30 times that. Having more bandwidth might let me download yet another movie a bit faster but it won't enable certain types of application that I think are far more interesting such as distributed computing and real time collaboration (eg: games) that currently are very limited by latency.
Sorry, it's got to be 'active' to be intercepting headers and page data to look for whether the page has asked to be rendered with chrome. It's entirely possible that it crashes the browser on absolutely any site and even opens brand new security holes.
> This is a good point - if software doesn't explain itself, then it is broken.
I think the situation is more subtle than that. For consumer software that grandma and Joe SixPack are meant to use, you're probably right. However there are domains where there is intrinsic complexity embodied in the tasks the software is to be used for. I think it's not wrong that people may need training to use this kind of software effectively. This is because there a lot of situations where simplification is in direct competition with flexibility and power.
Time for a bad analogy: you could say that a guitar has a terrible interface - if someone with no experience tries to use it they fail horrendously. They can barely make a comprehensible sound that resembles anything like music. Yet if we transformed the interface to something a complete novice could use to make reasonable music we would absolutely ruin it for those skilled in the art.
> Obviously, someone shouldn't be allowed to fly the flag of Nazi Germany outside their house
Symbols are a tricky issue, as they mean different things to different people. The swastika is a positive symbol in many parts of the world. You can walk the streets in parts of India and see people who have decorated their houses with it. Flags - one of my enduring memories of living in a southern US state was the prevalence of Confederate flags mounted on flag poles in people's yards. Obviously to these folks it is a symbol of pride and yet to many it symbolises slavery. I certainly found it very intimidating.
Who is to decide when people disagree about what a symbol means?
I'm a relatively new parent too, and I've actually wondered why these devices aren't more prevalent. I think I saw a version mounted in the child's shoes which makes a bit more sense.
It's not really because I feel it's necessary for security. It's just simple convenience. I hope to allow my child enormous freedom. I want to be able to say 'bye bye' to them in the morning and let them go out and play around the neighborhood wherever they like and not even need to ask where they're going, and not see or hear from them until they come back hungry at lunch or even dinner time. The one flaw in that plan is they have a terrible sense of time and so having something that allows me to know roughly where they are so I can make sure they're not 10 miles away when we have to leave to go somewhere. We could use a cell phone but I'd have to pester them with calls constantly whereas this is totally non-intrusive, much better for fostering 'self-reliance' and all the other stuff people are harping on about.
From what I'm able to tell young kids ( 10 years old) don't have much concept of privacy and couldn't care less if they are monitored. They just want freedom to play and do what they want at that age.
You seem to be under the illusion that the purchase contract for your steeply discounted OEM netbook copy of XP included some kind of promise of ongoing support from Microsoft. It didn't. Zero. Nothing. None. Go read the EULA. Even if you did have a case, your case is with the OEM supplier of your netbook. That's the whole point of OEM copies of windows. So go talk to them about it. Microsoft provides updates and bug fixes AT THEIR DISCRETION.
If you really want to pursue it, you can start by purchasing incident support (or a technet or msdn subscription which includes it). Then you can raise a case. And then if you are extremely lucky they may provide you with a hotfix that will be unsupported (as in, you have problems, you are paying more support money). Of course, you will have paid far more than just the cost of updating to Win7, but hey, why do something sensible when it would ruin a perfectly good Slashdot rant?
> Personally, speed isn't everything.
You know, after using Chrome I've decided that actually, for me, speed IS everything - or at least, the most critical factor in my browsing experience.
I can't explain why rationally that it matters so much whether it takes 0.2 seconds or 0.8 seconds for a tab to open, or 1 second instead of four seconds to cold start a new browser instance. I just know that it completely changes how I feel about the browser from it being a tool I'm fighting with and struggling to control to something that's almost like it's an extension of my own body. It's the same as with cars - people obsess over how a vehicle 'handles' which has no practical impact for the everyday purpose of travelling from A to B, and yet a car that handles poorly will be shunned because it just feels wrong.
I'm actually happier with Chrome + ads than I am with FireFox and no ads because Chrome actually feels *more* responsive than FireFox even though it is burdened with the ads as well. In fact, I half suspect that this may be a part of the reason Google invested in Chrome.
Thanks - I didn't realize that you could virtualize OSX as long as you do it in OSX itself.
I still don't fancy paying money to a company that forces me to do that on principle, but it's nice to know it's possible if I ever end up having to support OSX.
Developers don't have much choice these days due to Apple's refusal to license OSX for any kind of use other than running on Apple-made silicon.
Which is also the reason I don't support Macs in my software business. While I can fire up and watch 12 virtual machines - one for each version of windows and a couple of variants of linux that I support - in a matter of seconds and initiate an automated test suite that verifies my software works on every single one, to do that with OSX I'd have to have something like 8 physical boxes and monitors sitting on my desk.
> I have the highest respect for AFP and the Australia Police Service.
What are you talking about? For one thing, there is no such thing as the "Australia Police Service". And for another, the AFP have proven themselves time and time again to be the biggest bunch of boobs imaginable. They can barely arrest anybody without tripping over themselves and then it's usually the wrong guy, discovered, if we're lucky after the poor sod has been held without charge for the longest time period legally available to them.
> Scala and Groovy are nice, but I don't see why they are any better or different than JRuby or Jython.
Each one has it's own special advantages.
Scala - it's the only one that has kept static typing. While many people have turned against static typing, I think vast businesses with huge software will be much slower to let go of it. As a direct result of the static typing, Scala's performance is much much better for many use cases, and it also offers the possibility of keeping all the power of the refactoring tools Java programmers are used to in their IDEs.
Groovy - unlike JRuby or Jython, Groovy integrates with Java 100%. While the others can certainly use java classes and invoke java libraries, once you get to more complex integration or fringe areas they often break down. For example, unlike Groovy you can't define all the kinds of annotations in Jython that you can in Java. That might sound like a niche use case until you realize that all the modern Java libraries such as EJB, Hibernate, Stripes and many others are building heavily on these annotations and they just won't work without them.
Personally, I hope that Scala gets adoption because I think static typing has never really had a fair go on the JVM with a truly popular language using type inference to make it convenient. On the other hand, Scala is not ready yet, so for the time being, Groovy is doing it for me.
> And you get to pay for all this with a huge performance hit.
Are you sure about that? As in, actual benchmarks sure?
One of the reasons I find Scala very interesting is that it produces byte code which, in many cases, is identical to what raw Java produces. If Scala invokes a Java method, the byte code just calls it directly. Unlike Groovy where there are about 20 layers on the stack between each call.
From my rather trivial benchmarks, Scala seems only marginally slower than raw Java code. That is pretty amazing given that java itself is these days considered one of the best performing languages available.
Except, unless something changed, Amazon payments requires *the customer* to have or obtain an Amazon account, something which I find offensive for processing a single payment. This is where PayPal wins over so many others despite sucking in a multitude of ways.