Also according to the wiki, new nuclear power stations generate in the region of 600-1200 megawatts, so if we take 900 as the average, then that's about 2 million power stations (1000 * 1000 * 1000 * 1.8) / 900. That can't possibly be right....
You get comments like that whatever the situation is. Or have you never seen women imply that a man who really wants to work in a primary school might be a paedophile? Hint - "extreme" comments are usually not indicative of the attitudes of most people in an industry...
True, however the JITC must keep bookkeeping data to be able to undo the effects of optimisations. In this case the memory pressure and bookkeeping overhead added by tracking call site optimisation locations would probably outweigh the benefits.
If you actually tried ShedSkin you'd find the C++ it produces is very similar to what a human might produce, and is actually quite easily readable. But then - why would you want to anyway? It's an intermediate form useful to pass to an optimising C++ compiler, not as something to read.
That's true, however Canonical will have an uphill battle in the enterprise desktop/server market against Red Hat.
Consider - if you are wanting to deploy desktop Linux across your organisation for whatever reason, which name are you likely to trust more? Red Hat, a profitable, established company that has many (100+) developers recruited from the open source community supporting its products. Or Canonical, a very new entry into the game, funded primarily by the [finite] wealth of a millionaire, with only a small team selling a pretty much identical product.
I guess even if you prefer Ubuntu to Red Hat for whatever reason, it'd still be tough to argue convincingly for the new guy. Kind of like "nobody ever got fired for buying {Microsoft,IBM,Red Hat}".
Re:The problem: our native-code languages are bad
on
The End of Native Code?
·
· Score: 2, Interesting
Well, programming languages are about the man/machine interface. Their design is very much a tradeoff between the needs of the humans that'll be using them and the needs of the computers that'll be running them. Simple example - adding features to a language makes it harder to learn but potentially more efficient.
The other thing is you have to separate language from implementation. Java isn't just slow because of the design of the language, but many other choices that went into it like using a virtual machine, having a massive class library, making it portable etc. It'd be possible to create a Java-like system that was as fast and as resource efficient as C++.
Programming languages are like real human languages... we have a bunch of words, and people can use those words to communicate meaning, but some ways of putting words together will be "more efficient" than others. There's no one correct way to say it's raining, you could say "It is raining" or "Apparently our planet decided to send us the gift of precipitation today" - equivalent yet one is faster to say than the other:)
Highly accurate general purpose speech recognition is an AI problem, which as others have pointed out, currently hits the limits of our knowledge not our hardware.
Re:Someone's been reading too many benchmarks
on
The End of Native Code?
·
· Score: 2, Insightful
This really isn't correct. Modern optimizing compilers can do some very powerful and very expensive kinds of optimisation. The kind that double your compile time, at least, but can be worth it - one developer working on a console game claimed that when whole-program optimization was enabled in the newest MSVC++ they got "a ridiculous 30% speedup", for free (his words not mine). 30% sounds remarkably high but it's not impossible in a closed system like a games console game, in which (say) dynamic loading of code is impossible.
Java has several extremely poor design decisions that render it difficult to optimise compared to ahead-of-time compiled static languages like C++:
The javac "compiler" does practically no optimization at all. It leaves it all to the JVM. Therefore the end user pays the overhead of the compiler instead of the developer.
Java code can dynamically load other Java code at any point, and there's no way to indicate you'd like this disabled (the std lib does it all over the place anyway). This fact alone prevents many useful whole program optimisations such as call-site optimisation.... say you can prove that a particular method call will always dispatch to a given class (because the variable is typed to be that class and it has no subclasses). A good optimising compiler will replace the virtual method call dispatch with a direct call, saving on a possible pipeline stall and memory reference. No matter how fancy it gets, the JVM simply cannot do that, because at any point some new code may be loaded which subclasses that original class, invalidating the optimisation.
The language is designed to be minimalist with no way to extend it. Look at how many attributes GCC supports that are optimisation related to get a feel for this disadvantage. The compiler-specific attributes combined with the pre-processor can not only improve correctness of code but give the compiler hints about the program that it can't easily figure out for itself yet. No equivalent in Java
That said, whilst the best C++ compilers can still stomp all over the JVM, it's usually compared in benchmarks to GCC which has only recently started getting the more advanced optimisations developed in the last ten years or so. And by default you need to invoke GCC in certain magic ways to get them, which many developers don't know how to do. This gives Java a sort of built in advantage.
For code where performance matters I just can't see how Java can ever win.... it fundamentally tries to compile "on the fly" which means only very trivial optimisations can be done, no matter how many hotspots you have. It's just not feasable for the JVM to spend half an hour pondering the structure of a complex program in the same way that it is for an AOT compiler.
This is nothing unexpected, BBC News is notorious for a rather bizarre selection of images to accompany news stories. For example I have no face yet I must teach.
Linux and OS X have a good record for resisting drive-by installs.
Not really. Consider that Firefox has had many drive-by exploits available for it, and nothing stops you installing software on Linux without root then altering startup scripts/gconf/kconfig/session manager to ensure it's always loaded. From there it's trivial to do many things, including (in the unlikely event you care) getting the root password.
For example, if Yahoo dating service is able to block 98% of scammers, while Match.com is only able to block 75%, then who should win?
I think you lack context. The alleged problem is that the dating services themselves are fraudulent, not that real people are lying on their profiles. If 20% of the profiles on a service are fake and send out messages from a shell script, that absolutely should be illegal and stopped. It's fraud, simple as that. Whether it's covered by existing laws I would not know.
Why would anybody use a program for which they have no idea what it does? For all you know, MS Office is set up to encrypt everybodies documents at midnight January 1st 2010 and require an upgrade to the latest version to get them back.
Oh, wait... that'd be immoral, probably be illegal and it'd destroy the MS Office business entirely. So I suspect they won't do that....
Look at how many of the IE and Firefox security holes are to do with app platform level features vs document viewer level features and you might get an answer to that.
Re:It's a good thing: time to refresh things
on
Sun to Cut 5000 Jobs
·
· Score: 1
The faster they shed the baggage and go with producing assets, the better, IMHO.
What assets?
Solaris seems to be constantly losing ground to Linux and since it's open source now anyway, they're basically on a level playing field with other UNIX support contract vendors (like Red Hat), except they have to pay all the development costs of their product whereas Red Hat/Novell/Canonical only pay some.
SPARC once had big advantages over more mainstream architectures. Nowadays its main play is huge parallelism, but not much software can benefit from Niagra levels of threading. Are there enough people who need this sort of thing to make it profitable (chip design+manufacture is horribly expensive)? If so will it fend off competition from the Cell?
Java is the biggest bugbear of all. Sun make money out of licensing it to mobile vendors, but J2ME is a compatibility nightmare and for all its benefits and smart design is begging to be beaten round the head by some competition (of which BREW might stand the best chance). Server-side Java is of questionable profitability and other companies strongly compete in the "enterprise appserver" market. Client side Java is a dead duck and always has been: the fact that they continue to develop Swing and Java3D makes me question their accounting sanity.
Basically, they seem to have gone on a decade long spree of giving away their assets for free, leaving them in the unenviable position of having a huge R&D bill with precious few money making products to support it all.
Nearly every copy protection system uses kernel drivers, and if Vista isn't happy about loading older drivers I'd expect variant of these problems to affect many games and some apps too (Picasa and iTunes both use kernel level code for some features).
Blaming this on StarForce specifically hardly seems fair unless there's a specific reason Microsoft are blocking it from loading....
He says that Nintendo wishes to change that image with the Wii, a sentiment made obvious by the wide array of people shown playing Wii in Nintendo's recent promotional videos."
I applaud Nintendos efforts to increase the number of attractive models playing video games and am delighted by their commitment to encouraging a wide diversity of hot people playing their console.
However I doubt it'll increase profits that much...
Phones (or rather, some phones) have an architecture and design that makes it extremely hard or impossible to write malware.
Desktop operating systems, whether that be Windows, Linux or Mac OS do not have such an architecture. They're all quite trivial to crack if you really want to.
I wonder if it's not just the cell operators but also the phones themselves that are different. One of the more popular makes of phone here are the Sony Ericsson K750/W800 line of phones which have tons of features including cameras and web access. A lot of people use the cameras, sometimes even the games, probably very few use the web access. But people rarely (if ever) complain about the user interfaces - perhaps because they're really quite good? I've seen a lot of phone UIs in the past few years and of all of them the SE consumer phones have the best IMHO.
Such books exist for every mainstream OS. Including MacOS X.
Also according to the wiki, new nuclear power stations generate in the region of 600-1200 megawatts, so if we take 900 as the average, then that's about 2 million power stations (1000 * 1000 * 1000 * 1.8) / 900. That can't possibly be right ....
It already exists.
You get comments like that whatever the situation is. Or have you never seen women imply that a man who really wants to work in a primary school might be a paedophile? Hint - "extreme" comments are usually not indicative of the attitudes of most people in an industry ...
True, however the JITC must keep bookkeeping data to be able to undo the effects of optimisations. In this case the memory pressure and bookkeeping overhead added by tracking call site optimisation locations would probably outweigh the benefits.
If you actually tried ShedSkin you'd find the C++ it produces is very similar to what a human might produce, and is actually quite easily readable. But then - why would you want to anyway? It's an intermediate form useful to pass to an optimising C++ compiler, not as something to read.
That's true, however Canonical will have an uphill battle in the enterprise desktop/server market against Red Hat.
Consider - if you are wanting to deploy desktop Linux across your organisation for whatever reason, which name are you likely to trust more? Red Hat, a profitable, established company that has many (100+) developers recruited from the open source community supporting its products. Or Canonical, a very new entry into the game, funded primarily by the [finite] wealth of a millionaire, with only a small team selling a pretty much identical product.
I guess even if you prefer Ubuntu to Red Hat for whatever reason, it'd still be tough to argue convincingly for the new guy. Kind of like "nobody ever got fired for buying {Microsoft,IBM,Red Hat}".
Well, programming languages are about the man/machine interface. Their design is very much a tradeoff between the needs of the humans that'll be using them and the needs of the computers that'll be running them. Simple example - adding features to a language makes it harder to learn but potentially more efficient.
The other thing is you have to separate language from implementation. Java isn't just slow because of the design of the language, but many other choices that went into it like using a virtual machine, having a massive class library, making it portable etc. It'd be possible to create a Java-like system that was as fast and as resource efficient as C++.
Programming languages are like real human languages ... we have a bunch of words, and people can use those words to communicate meaning, but some ways of putting words together will be "more efficient" than others. There's no one correct way to say it's raining, you could say "It is raining" or "Apparently our planet decided to send us the gift of precipitation today" - equivalent yet one is faster to say than the other :)
Highly accurate general purpose speech recognition is an AI problem, which as others have pointed out, currently hits the limits of our knowledge not our hardware.
Java has several extremely poor design decisions that render it difficult to optimise compared to ahead-of-time compiled static languages like C++:
- The javac "compiler" does practically no optimization at all. It leaves it all to the JVM. Therefore the end user pays the overhead of the compiler instead of the developer.
- Java code can dynamically load other Java code at any point, and there's no way to indicate you'd like this disabled (the std lib does it all over the place anyway). This fact alone prevents many useful whole program optimisations such as call-site optimisation
.... say you can prove that a particular method call will always dispatch to a given class (because the variable is typed to be that class and it has no subclasses). A good optimising compiler will replace the virtual method call dispatch with a direct call, saving on a possible pipeline stall and memory reference. No matter how fancy it gets, the JVM simply cannot do that, because at any point some new code may be loaded which subclasses that original class, invalidating the optimisation.
- The language is designed to be minimalist with no way to extend it. Look at how many attributes GCC supports that are optimisation related to get a feel for this disadvantage. The compiler-specific attributes combined with the pre-processor can not only improve correctness of code but give the compiler hints about the program that it can't easily figure out for itself yet. No equivalent in Java
That said, whilst the best C++ compilers can still stomp all over the JVM, it's usually compared in benchmarks to GCC which has only recently started getting the more advanced optimisations developed in the last ten years or so. And by default you need to invoke GCC in certain magic ways to get them, which many developers don't know how to do. This gives Java a sort of built in advantage.For code where performance matters I just can't see how Java can ever win .... it fundamentally tries to compile "on the fly" which means only very trivial optimisations can be done, no matter how many hotspots you have. It's just not feasable for the JVM to spend half an hour pondering the structure of a complex program in the same way that it is for an AOT compiler.
This is nothing unexpected, BBC News is notorious for a rather bizarre selection of images to accompany news stories. For example I have no face yet I must teach.
Not really. Consider that Firefox has had many drive-by exploits available for it, and nothing stops you installing software on Linux without root then altering startup scripts/gconf/kconfig/session manager to ensure it's always loaded. From there it's trivial to do many things, including (in the unlikely event you care) getting the root password.
I think you lack context. The alleged problem is that the dating services themselves are fraudulent, not that real people are lying on their profiles. If 20% of the profiles on a service are fake and send out messages from a shell script, that absolutely should be illegal and stopped. It's fraud, simple as that. Whether it's covered by existing laws I would not know.
Oh, wait ... that'd be immoral, probably be illegal and it'd destroy the MS Office business entirely. So I suspect they won't do that ....
Look at how many of the IE and Firefox security holes are to do with app platform level features vs document viewer level features and you might get an answer to that.
What assets?
Solaris seems to be constantly losing ground to Linux and since it's open source now anyway, they're basically on a level playing field with other UNIX support contract vendors (like Red Hat), except they have to pay all the development costs of their product whereas Red Hat/Novell/Canonical only pay some.
SPARC once had big advantages over more mainstream architectures. Nowadays its main play is huge parallelism, but not much software can benefit from Niagra levels of threading. Are there enough people who need this sort of thing to make it profitable (chip design+manufacture is horribly expensive)? If so will it fend off competition from the Cell?
Java is the biggest bugbear of all. Sun make money out of licensing it to mobile vendors, but J2ME is a compatibility nightmare and for all its benefits and smart design is begging to be beaten round the head by some competition (of which BREW might stand the best chance). Server-side Java is of questionable profitability and other companies strongly compete in the "enterprise appserver" market. Client side Java is a dead duck and always has been: the fact that they continue to develop Swing and Java3D makes me question their accounting sanity.
Basically, they seem to have gone on a decade long spree of giving away their assets for free, leaving them in the unenviable position of having a huge R&D bill with precious few money making products to support it all.
Same reason iTunes uses it, it does its own CD burning.
I was referring to the promo material I saw on their website which was fully of rather fake looking models ...
Blaming this on StarForce specifically hardly seems fair unless there's a specific reason Microsoft are blocking it from loading ....
I applaud Nintendos efforts to increase the number of attractive models playing video games and am delighted by their commitment to encouraging a wide diversity of hot people playing their console.
However I doubt it'll increase profits that much ...
Not sure Viking video games encourage violence to be honest mate
That's a lot of penguin t-shirts.
Desktop operating systems, whether that be Windows, Linux or Mac OS do not have such an architecture. They're all quite trivial to crack if you really want to.
I wonder if it's not just the cell operators but also the phones themselves that are different. One of the more popular makes of phone here are the Sony Ericsson K750/W800 line of phones which have tons of features including cameras and web access. A lot of people use the cameras, sometimes even the games, probably very few use the web access. But people rarely (if ever) complain about the user interfaces - perhaps because they're really quite good? I've seen a lot of phone UIs in the past few years and of all of them the SE consumer phones have the best IMHO.
Annoying yes, impossible? No.