``A microkernel architecture for devices least able to afford the overhead''
What overhead? The way I understand it, the overhead typically associated with microkernels comes two sources: overhead incurred when transferring control across process boundaries and inefficiency of the implementation. Inefficiency of the implementation (e.g. using a complex message-passing system that consumes many CPU cycles) is a problem, but it's not intrinsic to microkernels. Overhead incurred when transferring control across process boundaries depends on many factors, such as what your OS's idea of "process" is, how this is mapped to the constructs provided by the hardware, and how efficient the hardware implementation is.
Long story short, implementing processes as tasks on x86 hardware and using the MMU to separate processes' address spaces is very inefficient. An implementation on an MMU-less system with an ARM CPU and all processes in the same address space would not be nearly as inefficient.
In fact, on an ARM CPU, even with an MMU and processes in separate address spaces, one study (PDF) has measured the context switching overhead of Linux to be up to 0.25%. If Linux can do that, a microkernel can, too. Now, I don't know about you, but 0.25% isn't enough to keep me awake with worry all night.
All in all, I think the reputation that microkernels have for introducing a lot of overhead is simply due to inefficient implementations on inefficient hardware. I also wonder how much kernel efficiency still matters these days; it seems that most programs seem to fall in one of 3 categories: 1) mostly sitting idle waiting for input (user input, disk reads, memory access) 2) bound mostly by the speed of the graphics card 3) spending most of their CPU cycles in their own code or libraries. System call overhead has little impact on these programs...
``That may be true, but if the police / the prosecution is smart, they don't use the tapped calls themselves as evidence, but simply use them during their own investigation, and to better prepare their rebuttal to the defense attorney's arguments.''
Heh. The whole reason they are actually finally looking into this is that many defendants are acquitted because of mistakes made by the prosecution - in this case, not deleting recordings. I hope this shakes things up so that other data retention issues are looked into, as well. What is interesting to see is that actually the government care more about people's privacy than the people themselves - largely, people grumble when a defendant walks, people want more data gathered and retained, etc.
By the way, I was thinking about this issue the other day, and I figured that "letting the criminal get away with a crime because the prosecution didn't follow the right procedures" and "letting the prosecution get away with not following the procedures" are not the only options we have - for example, we could impose sanctions for not following procedures. That way, we can punish both transgressions. It also has the benefit that, for the prosecution, it won't be a "win the case or lose nothing" preposition - they will actually feel pain if they violate people's rights.
``This can be a very useful thing, if they keep their legal responsibilities according to GPL: They have to distribute the source code for it as well.''
Hahahaha! Thanks, man. I needed a good joke to start the day with.
What do we really know about history, anyway? You get different accounts of the same event by people who were actually there. Then, as the stories are propagated by those who weren't there, you get even more different stories. Eventually, things may be written down, and you may find evidence that fits with some stories but not others, but, in the end, what do we really know?
Even in cases where there is agreement among people who have actually studied a historic event, what people at large believe about it is usually based on parroting what they hear from others. So, what we "know", then, is not actually what historians believe actually happened. And even that is only a belief.
In that light, I see the more important aspects of games to be how much fun they are to play. Is the gameplay good? Is the experience immersive? Is the story believable enough? Feeling realistic and being in line with historic events (as applicable) is an important part of that, but I wouldn't say it is overwhelmingly important for games (it's different if you build a simulator for training, of course).
And let's face it: if we went for total realism, there wouldn't be any game to play. There would be only one way to proceed, and that would be the way it actually happened in real life. That's not a game, that's a movie - and a specific genre, quite apart from the big hit movies. So let's not be too tough on games that deviate from history a bit more than others, given that none can possibly give a completely accurate account, anyway.
On the other hand, if you are going to base your game on a historic event, you might as well faithfully depict the historic setting as we know it. Otherwise, what's the point? Unless you're making a parody, of course.:-)
For a look at a company who does things differently, have a look at Edimax. For example, for their NS-2502 NAS appliance, they provide a link to the source code right on the product page.
Unfortunately, the source code doesn't come with instructions for compiling it into a firmware package that you can install on the device, but then, it doesn't look like the GPL actually mandates that, either.
All your points are valid, but they don't negate the fact that if you use code under a license that requires you to make your code or modifications available to those you distribute the binaries to, you have to abide by the terms of the license and do so.
Unfortunately, there is a lot of misinformation about copyright law in the Netherlands, some of it actually spread by BREIN. Most people I've talked to actually believe downloading copyrighted works is illegal and the colloquial phrase for this is "illegal downloading". This myth is happily propagated by BREIN, even though, according to the actual law, downloading music and videos is legal. Apparently, a minister going on air stating this hasn't impressed anyone.
In this case of BREIN vs. TPB, the report I heard on the radio actually stated that "The Pirate Bay is a website that hosts copyrighted works". Now, I suppose that, technically, _any_ website hosts copyrighted works (if I write a webpage, I get copyright on that), but the way most people interpret this, and the way it is probably intended to be interpreted, is that TPB would host the actual media files - music and movies - which, to my knowledge, is not and never has been the case. In other words, more misinformation.
Now, I am all for the rule of law, so if the law says we are not allowed to do certain things with certain works, then I believe we shouldn't do those things... and if we still want to do them, we should get the law changed, first. So I am all for organizations like BREIN that protect the legal rights of copyright holders. But please, let's be open and clear about what is actually happening. Downloading music and movies is _not_ illegal in the Netherlands, and The Pirate Bay is _not_ hosting music and movies. Claiming those things is just spreading FUD, and I sincerely hope BREIN gets punished for it - they of all organizations should know better.
``The carrier must be able to count on your phone acting in a predetermined way in order to keep the network on the air. Believe it or not, one single phone could bring down an entire tower!''
If that is true, I foresee Interesting Times. There are always... individuals... who think it's great fun to break things, not to mention people who actively seek to do harm...
While I am not a fan of SharePoint at all, I understand that one thing it does is provide versioning for MS Office files, such as Word documents and Excel spreadsheets. Now, I am used to version control from CVS, Subversion, and Git, and I think this is immensely valuable.
Having worked in various organizations which use MS Office extensively, I see that a lot of time is wasted figuring out which is the latest version of a document, where it is, what the differences are between that version and some version that one has previously read, who changed some part and why, and where to find an older version (often because the latest version turns out to be corrupted).
All these things are easy with Git and plain text... but are there any good solutions for, say, MS Office and/or OpenOffice.org documents? It seems to me that diff is the real challenge. You will want the output to be human-readable, which means a binary diff or even a diff of the XML won't do, and from what I've seen from MS Office's "compare documents", that's pretty much useless, too. Has anyone managed to create something that is actually usable?
Apparently, softraid is also included in the GENERIC kernel. This means that, unlike with the old RAIDframe, you don't have to compile your own kernel before you can use it.
Reading the specs, this could be the phone I have been waiting for. It has a keyboard (message/appointment/etc. entry), it is hackable (512 MB ROM, 256 MB RAM, and I recently read you _can_ write native apps for Android), standard interfaces (USB, WLAN), plenty of battery time, a fast CPU, it's all there. As a bonus, it runs Linux!
And this is why more and more people don't trust software that isn't open source. Sure, your browser may be free software, but since the operating system is closed source, others can still play dirty tricks on you. If there is any non-free software on your computer, you don't really control it.
``Their compatability with 3rd party messengers SUCKS''
This is a problem with all proprietary instant messaging services. Which is why I still use IRC. All features are documented, so if you want to interoperate, you can. There is a plethora of clients to choose from. And you can actually chat with people on the large IM networks, too (through BitlBee).
Thanks, that helps a lot. The memory I bought is actually Kingston, but I apparently didn't know enough about how to read their part numbers to tell that it was FB-DIMM instead of DDR2 SDRAM. The whole exercise sure taught me to look up the part numbers in the future, and not go by the description alone!
``Unfortunately, it does seem that people are more accepting of the MS-inspired pain though''
It's the fear. If it has "Microsoft" on it, it's known and trusted. If it is "alternative", it is unknown and scary. It's not about the actual features of the product. It's about the fear of "What am I getting myself into?"
``On a side note, I don't think ads will be a problem at all for the target audience. If anyone has seen Windows Live Messenger lately, you'll understand what passes for acceptable for advertising in desktop applications these days.''
I just think that it's hilarious that that is what you get from what many people still see as a professional provider of quality software that people gladly pay for, whereas the oft-ridiculed fringe groups that largely can't get anywhere near Microsoft's market penetration while giving their software away for free provide slick user interfaces that implement state of the art usability guidelines and are ad free.
``The question will be whether you can uninstall it? I've got better things to do with my disk space and network bandwidth than support/tolerate adware. Do I have to pay for the Ads to be downloaded if my Internet access is over a 3G network???.
For that matter is it possible in Windows 7+ to uninstall IE (or the anti-virus/Windows update/big-brother/similar software)?''
If you are concerned about these things, you are not the target audience for Microsoft. If you want control over your computer, then Microsoft software isn't for you. Microsoft software is for people who are too afraid to try anything else, usually because they are afraid they themselves or those who administer their computers won't know how to use it, or because they are afraid of losing compatibility with the rest of the world. That makes Microsoft the only real option for them, and a little money and freedom to be paid really is a lower barrier than the fear of the unknown.
And then, of course, there are those who are genuinely enthusiastic about Microsoft products. They may be a minority, but they do exist.
(Apologies if the formatting is messed up. Slashdot is so horribly broken these days that I feel a sense of honor if I can post at all.)
``Part of the problem is that they DO need to market.''
Perhaps. It depends on what you are trying to achieve. And then it still depends.
Personally, I don't feel that Free software needs to be marketed. Contrary to proprietary software, people won't stop developing it even if every company involved in the development goes under. Free software is and has been and will be doing just fine without marketing.
Of course, if your goal is to spread adoption of Free software to those who won't choose it without some nudging, then, yes, it will need to be marketed. But spreading Free software to those who wouldn't adopt it of their own initiative isn't the only measure of success.
Free software works for me, and if my competitor insists on spending more on proprietary software that works less well, then I have absolutely no problem with that.
``What I did take from the article was that without ECC ram, you have no way of knowing that your RAM has errors.''
But that's not actually true. Parity allows you to detect errors, but not correct them. Thus, parity RAM is not ECC RAM, but it will detect memory errors.
When I was building the computer I'm typing this on, I had the grand idea of building it with so much RAM that I could basically work from RAM. Meaning, for example, that all my running programs and the project I was working on would have to fit in RAM.
Of course, with such a dream, I was concerned about the reliability of my memory. So I wanted ECC. I found out that having ECC memory is not just a matter of buying ECC memory. There are different kinds of ECC memory, and you need to find a combination of memory, motherboard, and CPU that works together. Many sites that offer CPUs and/or motherboards don't list support for ECC among the specifications. Searching for it is difficult, because searching for "ECC" also returns hits for things like "non-ECC" and "ECC: no".
Finally, I found a combination of motherboard and CPU that would support unbuffered ECC DDR2, and a matching pair of memory modules to go with it. And then, when I got all the parts, the RAM didn't fit in the motherboard. Turns out the RAM was FB-DIMM, which had not been listed in the advertisement. I gave up and just bought 2GB of non-ECC RAM to just get the system working. The FB-DIMM (all 8GB of it) is still sitting here, because I haven't found anyone who wants to buy it from me.
Lessons learned: 1. The saying "the nice thing about standards is that there are so many to choose from" is still relevant. I don't know why there have to be so many hardware interfaces to memory chips, but there are, so be careful. 2. Apparently, nobody really cares about ECC RAM, otherwise information would be easier to find. 3. Apparently, AMD CPUs and matching motherboards more usually support ECC RAM than Intel parts and matching motherboards.
The new taskbar alone is a step forward. The old model with the labels just doesn't scale to more than a few windows. Now I just hope the *nix desktop environments follow suit. This was in NeXTSTEP in the 1988, for Pete's sake!
``There's a huge difference in complexity between image/HTML renderer and Javascript. Image file formats and HTML pages are not Turing complete, while Javascript is. Consequently, the former are "safe" in that it's possible to prove that a particular implementation is free of exploits that would allow running arbitrary code, while Javascript by definition can never be; the whole point of Javascript is to allow arbitrary code execution''
Err, no. There is a huge difference between being Turing complete, unsafe, and allowing arbitrary code execution. In particular, being Turing complete does not imply being unsafe. Sure, you may be able to compute any function... but without primitives in your language that affect the outside world, your language will not be unsafe.
Also, a good Javascript engine will not allow the execution of arbitrary code, but only of code that is actually in the program being run. What you probably meant to say is not "arbitrary code execution", but "cross-site scripting": the fact that Eve can post code on Alice's website that causes Bob's computer to do naughty things.
``A microkernel architecture for devices least able to afford the overhead'' What overhead? The way I understand it, the overhead typically associated with microkernels comes two sources: overhead incurred when transferring control across process boundaries and inefficiency of the implementation. Inefficiency of the implementation (e.g. using a complex message-passing system that consumes many CPU cycles) is a problem, but it's not intrinsic to microkernels. Overhead incurred when transferring control across process boundaries depends on many factors, such as what your OS's idea of "process" is, how this is mapped to the constructs provided by the hardware, and how efficient the hardware implementation is. Long story short, implementing processes as tasks on x86 hardware and using the MMU to separate processes' address spaces is very inefficient. An implementation on an MMU-less system with an ARM CPU and all processes in the same address space would not be nearly as inefficient. In fact, on an ARM CPU, even with an MMU and processes in separate address spaces, one study (PDF) has measured the context switching overhead of Linux to be up to 0.25%. If Linux can do that, a microkernel can, too. Now, I don't know about you, but 0.25% isn't enough to keep me awake with worry all night. All in all, I think the reputation that microkernels have for introducing a lot of overhead is simply due to inefficient implementations on inefficient hardware. I also wonder how much kernel efficiency still matters these days; it seems that most programs seem to fall in one of 3 categories: 1) mostly sitting idle waiting for input (user input, disk reads, memory access) 2) bound mostly by the speed of the graphics card 3) spending most of their CPU cycles in their own code or libraries. System call overhead has little impact on these programs ...
``That may be true, but if the police / the prosecution is smart, they don't use the tapped calls themselves as evidence, but simply use them during their own investigation, and to better prepare their rebuttal to the defense attorney's arguments.''
Heh. The whole reason they are actually finally looking into this is that many defendants are acquitted because of mistakes made by the prosecution - in this case, not deleting recordings. I hope this shakes things up so that other data retention issues are looked into, as well. What is interesting to see is that actually the government care more about people's privacy than the people themselves - largely, people grumble when a defendant walks, people want more data gathered and retained, etc.
By the way, I was thinking about this issue the other day, and I figured that "letting the criminal get away with a crime because the prosecution didn't follow the right procedures" and "letting the prosecution get away with not following the procedures" are not the only options we have - for example, we could impose sanctions for not following procedures. That way, we can punish both transgressions. It also has the benefit that, for the prosecution, it won't be a "win the case or lose nothing" preposition - they will actually feel pain if they violate people's rights.
``This can be a very useful thing, if they keep their legal responsibilities according to GPL: They have to distribute the source code for it as well.''
Hahahaha! Thanks, man. I needed a good joke to start the day with.
What do we really know about history, anyway? You get different accounts of the same event by people who were actually there. Then, as the stories are propagated by those who weren't there, you get even more different stories. Eventually, things may be written down, and you may find evidence that fits with some stories but not others, but, in the end, what do we really know?
Even in cases where there is agreement among people who have actually studied a historic event, what people at large believe about it is usually based on parroting what they hear from others. So, what we "know", then, is not actually what historians believe actually happened. And even that is only a belief.
In that light, I see the more important aspects of games to be how much fun they are to play. Is the gameplay good? Is the experience immersive? Is the story believable enough? Feeling realistic and being in line with historic events (as applicable) is an important part of that, but I wouldn't say it is overwhelmingly important for games (it's different if you build a simulator for training, of course).
And let's face it: if we went for total realism, there wouldn't be any game to play. There would be only one way to proceed, and that would be the way it actually happened in real life. That's not a game, that's a movie - and a specific genre, quite apart from the big hit movies. So let's not be too tough on games that deviate from history a bit more than others, given that none can possibly give a completely accurate account, anyway.
On the other hand, if you are going to base your game on a historic event, you might as well faithfully depict the historic setting as we know it. Otherwise, what's the point? Unless you're making a parody, of course. :-)
For a look at a company who does things differently, have a look at Edimax. For example, for their NS-2502 NAS appliance, they provide a link to the source code right on the product page.
Unfortunately, the source code doesn't come with instructions for compiling it into a firmware package that you can install on the device, but then, it doesn't look like the GPL actually mandates that, either.
All your points are valid, but they don't negate the fact that if you use code under a license that requires you to make your code or modifications available to those you distribute the binaries to, you have to abide by the terms of the license and do so.
Unfortunately, there is a lot of misinformation about copyright law in the Netherlands, some of it actually spread by BREIN. Most people I've talked to actually believe downloading copyrighted works is illegal and the colloquial phrase for this is "illegal downloading". This myth is happily propagated by BREIN, even though, according to the actual law, downloading music and videos is legal. Apparently, a minister going on air stating this hasn't impressed anyone.
In this case of BREIN vs. TPB, the report I heard on the radio actually stated that "The Pirate Bay is a website that hosts copyrighted works". Now, I suppose that, technically, _any_ website hosts copyrighted works (if I write a webpage, I get copyright on that), but the way most people interpret this, and the way it is probably intended to be interpreted, is that TPB would host the actual media files - music and movies - which, to my knowledge, is not and never has been the case. In other words, more misinformation.
Now, I am all for the rule of law, so if the law says we are not allowed to do certain things with certain works, then I believe we shouldn't do those things ... and if we still want to do them, we should get the law changed, first. So I am all for organizations like BREIN that protect the legal rights of copyright holders. But please, let's be open and clear about what is actually happening. Downloading music and movies is _not_ illegal in the Netherlands, and The Pirate Bay is _not_ hosting music and movies. Claiming those things is just spreading FUD, and I sincerely hope BREIN gets punished for it - they of all organizations should know better.
``The carrier must be able to count on your phone acting in a predetermined way in order to keep the network on the air. Believe it or not, one single phone could bring down an entire tower!''
If that is true, I foresee Interesting Times. There are always ... individuals ... who think it's great fun to break things, not to mention people who actively seek to do harm ...
While I am not a fan of SharePoint at all, I understand that one thing it does is provide versioning for MS Office files, such as Word documents and Excel spreadsheets. Now, I am used to version control from CVS, Subversion, and Git, and I think this is immensely valuable.
Having worked in various organizations which use MS Office extensively, I see that a lot of time is wasted figuring out which is the latest version of a document, where it is, what the differences are between that version and some version that one has previously read, who changed some part and why, and where to find an older version (often because the latest version turns out to be corrupted).
All these things are easy with Git and plain text ... but are there any good solutions for, say, MS Office and/or OpenOffice.org documents? It seems to me that diff is the real challenge. You will want the output to be human-readable, which means a binary diff or even a diff of the XML won't do, and from what I've seen from MS Office's "compare documents", that's pretty much useless, too. Has anyone managed to create something that is actually usable?
You mean ...
1. SCO still exists?
2. They have been paying Darl and friends good money all this time?
No comment. I'm too baffled to say anything.
Apparently, softraid is also included in the GENERIC kernel. This means that, unlike with the old RAIDframe, you don't have to compile your own kernel before you can use it.
Reading the specs, this could be the phone I have been waiting for. It has a keyboard (message/appointment/etc. entry), it is hackable (512 MB ROM, 256 MB RAM, and I recently read you _can_ write native apps for Android), standard interfaces (USB, WLAN), plenty of battery time, a fast CPU, it's all there. As a bonus, it runs Linux!
I'm curious what it will cost in Europe ...
And this is why more and more people don't trust software that isn't open source. Sure, your browser may be free software, but since the operating system is closed source, others can still play dirty tricks on you. If there is any non-free software on your computer, you don't really control it.
``Their compatability with 3rd party messengers SUCKS''
This is a problem with all proprietary instant messaging services. Which is why I still use IRC. All features are documented, so if you want to interoperate, you can. There is a plethora of clients to choose from. And you can actually chat with people on the large IM networks, too (through BitlBee).
Thanks, that helps a lot. The memory I bought is actually Kingston, but I apparently didn't know enough about how to read their part numbers to tell that it was FB-DIMM instead of DDR2 SDRAM. The whole exercise sure taught me to look up the part numbers in the future, and not go by the description alone!
``Unfortunately, it does seem that people are more accepting of the MS-inspired pain though''
It's the fear. If it has "Microsoft" on it, it's known and trusted. If it is "alternative", it is unknown and scary. It's not about the actual features of the product. It's about the fear of "What am I getting myself into?"
``On a side note, I don't think ads will be a problem at all for the target audience. If anyone has seen Windows Live Messenger lately, you'll understand what passes for acceptable for advertising in desktop applications these days.''
I just think that it's hilarious that that is what you get from what many people still see as a professional provider of quality software that people gladly pay for, whereas the oft-ridiculed fringe groups that largely can't get anywhere near Microsoft's market penetration while giving their software away for free provide slick user interfaces that implement state of the art usability guidelines and are ad free.
``The question will be whether you can uninstall it? I've got better things to do with my disk space and network bandwidth than support/tolerate adware. Do I have to pay for the Ads to be downloaded if my Internet access is over a 3G network???.
For that matter is it possible in Windows 7+ to uninstall IE (or the anti-virus/Windows update/big-brother/similar software)?''
If you are concerned about these things, you are not the target audience for Microsoft. If you want control over your computer, then Microsoft software isn't for you. Microsoft software is for people who are too afraid to try anything else, usually because they are afraid they themselves or those who administer their computers won't know how to use it, or because they are afraid of losing compatibility with the rest of the world. That makes Microsoft the only real option for them, and a little money and freedom to be paid really is a lower barrier than the fear of the unknown.
And then, of course, there are those who are genuinely enthusiastic about Microsoft products. They may be a minority, but they do exist.
(Apologies if the formatting is messed up. Slashdot is so horribly broken these days that I feel a sense of honor if I can post at all.)
``Part of the problem is that they DO need to market.''
Perhaps. It depends on what you are trying to achieve. And then it still depends.
Personally, I don't feel that Free software needs to be marketed. Contrary to proprietary software, people won't stop developing it even if every company involved in the development goes under. Free software is and has been and will be doing just fine without marketing.
Of course, if your goal is to spread adoption of Free software to those who won't choose it without some nudging, then, yes, it will need to be marketed. But spreading Free software to those who wouldn't adopt it of their own initiative isn't the only measure of success.
Free software works for me, and if my competitor insists on spending more on proprietary software that works less well, then I have absolutely no problem with that.
``What I did take from the article was that without ECC ram, you have no way of knowing that your RAM has errors.''
But that's not actually true. Parity allows you to detect errors, but not correct them. Thus, parity RAM is not ECC RAM, but it will detect memory errors.
When I was building the computer I'm typing this on, I had the grand idea of building it with so much RAM that I could basically work from RAM. Meaning, for example, that all my running programs and the project I was working on would have to fit in RAM.
Of course, with such a dream, I was concerned about the reliability of my memory. So I wanted ECC. I found out that having ECC memory is not just a matter of buying ECC memory. There are different kinds of ECC memory, and you need to find a combination of memory, motherboard, and CPU that works together. Many sites that offer CPUs and/or motherboards don't list support for ECC among the specifications. Searching for it is difficult, because searching for "ECC" also returns hits for things like "non-ECC" and "ECC: no".
Finally, I found a combination of motherboard and CPU that would support unbuffered ECC DDR2, and a matching pair of memory modules to go with it. And then, when I got all the parts, the RAM didn't fit in the motherboard. Turns out the RAM was FB-DIMM, which had not been listed in the advertisement. I gave up and just bought 2GB of non-ECC RAM to just get the system working. The FB-DIMM (all 8GB of it) is still sitting here, because I haven't found anyone who wants to buy it from me.
Lessons learned: 1. The saying "the nice thing about standards is that there are so many to choose from" is still relevant. I don't know why there have to be so many hardware interfaces to memory chips, but there are, so be careful. 2. Apparently, nobody really cares about ECC RAM, otherwise information would be easier to find. 3. Apparently, AMD CPUs and matching motherboards more usually support ECC RAM than Intel parts and matching motherboards.
The new taskbar alone is a step forward. The old model with the labels just doesn't scale to more than a few windows. Now I just hope the *nix desktop environments follow suit. This was in NeXTSTEP in the 1988, for Pete's sake!
In other words, Windows Vista market share is falling before it ever hit 20%, and Linux has more market share than the latest version of Windows. ;-)
You might want to take a look at OpenPandora.
``There's a huge difference in complexity between image/HTML renderer and Javascript. Image file formats and HTML pages are not Turing complete, while Javascript is. Consequently, the former are "safe" in that it's possible to prove that a particular implementation is free of exploits that would allow running arbitrary code, while Javascript by definition can never be; the whole point of Javascript is to allow arbitrary code execution''
Err, no. There is a huge difference between being Turing complete, unsafe, and allowing arbitrary code execution. In particular, being Turing complete does not imply being unsafe. Sure, you may be able to compute any function ... but without primitives in your language that affect the outside world, your language will not be unsafe.
Also, a good Javascript engine will not allow the execution of arbitrary code, but only of code that is actually in the program being run. What you probably meant to say is not "arbitrary code execution", but "cross-site scripting": the fact that Eve can post code on Alice's website that causes Bob's computer to do naughty things.