"Formally proving" a kernel is something like formally proving your memory allocation algorithm will never fail, providing there's infinite memory available, proving your IO is perfect, providing there's 0 latency, infinite bandwidth and storage, and your security is unbreakable, providing absolutely everything is protected by one-time pads.
In real life, the situation is best described by the old saying: no battle plan survives first contact with the enemy. Kernel bugs are surely not uncommon but at most contribute to about 50% of the system (in)stability - the other half being the "real world" with which the kernel interacts: hardware, its greater environment (e.g. the network) and users. The kernel might be perfect, but at the same time can very elegantly go to pieces the first time it receives an invalid ATA response due to a flaky cable or it misses and interrupt timing because memory allocation algorithms take a little bit too long to defragment or find free space, or the users sets the root password to "god" and leaves a root-login-enabled sshd running. Even CPUs themselves have bugs.
In short, it's nice but the world will not suffer much if other popular kernel don't ever get to be formally proven.
Aren't there some much more nearby potential problems that will face the Sun-Earth system by itself (i.e. without meteors from space, etc.), like the Ice Age? Currently, we have passed the interglacial optimum (which happened three to five thousand years ago) and statistically, we are heading toward a Big Winter (popref GRR Martin - "The Winter is Coming":) ). Technically, we are currently in an Ice Age.
OpenOffice (as StarOffice way back) reinvented the whole "OLE 2" thing to support in-place editing on multiple platforms, which of course wasn't (I don't know about now) compatible with MS Office's implementation.
I read an very truthful-sounding (as well as depressingly down-to-earth) advice on new ideas that goes like this: "Don't worry if anyone will steal your ideas... if they're any good you'll have a hard time showing them down people's throats anyway."
The point is - ideas are a dime a dozen. If the idea needs some help to succeed - money, resources, people, etc. - which you don't have, there is very slim chance that some friend you tell it to will have them. If, and this is the really long shot - you ever come to find sponsors for the idea that would invest in it in any way - you will correctly assume you need lawyers. Once you convince *your sponsors*, you'll sell the idea to them anyway, in exchange for more or less money, depending on how good your lawyers are.
There is no way to get useful feedback on an idea by sitting on it and not discussing it with anyone.
Throughout history it was mostly left to individual efforts and chance - while certain rulers tried the stone tablet method of ensuring their subjects would talk about them for centuries to come, most of the records were done for contemporary purposes. It was important, for example, to record who fought where because they needed to get paid (in some way; upto giving land, etc.) not because some descendant 1000 years later would want to know about it. In the same way, future digital archeologists will find information from this era based on how important it was in certain cases. I think that information that was mirrored widely, like the Linux kernel, will be readily found, while information that is centralized, like Facebook pictures of drunken students, will perish soon (cf. Geocities). Note that torrent data is mirrored in a "lesser" way than the Linux kernel example, because while the torrent files are mirrored widely, the files they point to are not mirrored publically and widely. And this is ok. It's sort of Darwinian selection of data - if people *want* to keep the memory of Michael Jackson alive forever, they will. If the yesterday's episode of $sitcom sucks, it will go away on its own.
Unless a goverment or a rich person takes initiative to preserve unpopular data (peoples' personal information, tax records, etc.), this data will perish.
I've just seen Himalaya and you'll have to agree that it's in a different class as far as realistic visuals are concerned than Elevated. (yes, fractal terrain generators are an old chestnut but still - the increase in quality from Himalaya, 1K to Elevated, in 4K, is literally visible:) )
No, it just raises the bar. Back when all you had to work with was CGA in 320x200 it was impressive to show a rotating cube in 4k. Today, this demo nicely shows where the virtual bar is when even considering making a 4k demo. As you couldn't do "Elevated" on your 100 MHz 486 in *no* condition or with any libraries, so would you be laughed at if you presented a rotating cube or a wormhole today.
Here's an excerpt from TFA:
for those wondering, this a (too) low density flat mesh displaced with
a procedural vertex shader. there arent any texturemaps for texturing,
instead texturing (and shading) is defferred and computed procedurally
in a full screen quad. this means there is zero overdraw for the quite
expensive material at the cost of a single geometry pass. then another
second full screen quad computes the motion blur. camera movements are
computed by a shader too and not in the cpu, as only the gpu knows the
procedural definition of the landscape.
Presently, I can't 'opt-out' of images of myself being posted by members, even though I am not on Facebook.
And on the same subject-- should I even need to 'opt-out'? Maybe they should require 'opt-in'?
No, for the same reasons you can't stop anyone creating a web site (e.g. a blog) with a picture of you and the caption "This is $yourname", posting a picture of you with the same caption on a usenet group, or going to a bar, holding your picture in the air and shouting "This is a picture of $yourname".
Iff those things I enumerated could be effectively controlled and prevented, you have a reasonable chance of it succeeding with Facebook. In a society that allowed that, you also have a reasonable chance of dressing in black, worshiping a Fuhrer figure and oppressing a random minority because you officially hate the shape of their nose.
Today, everyone's famous for five mouse clicks or something such...
Gartner recently announced that Symbian has 49.5% of ww smart phone market share (300m+ devices)
Yeah, but... which Symbian? What non-developers usually don't get is that currently Symbian is a lot like Linux - strictly speaking it's little more then an OS kernel with a bunch of low-level APIs. What users see, the GUI, is fragmented in the same way GNOME and KDE are fragmented, and with much worse results. The developers must build different versions of their application (UIQ, S60, others) for different devices, and the users cannot simply install "the other one" enabling them to run applications written for other devices. If someone says to you that there's an application doing X "for Symbian", you better pray it's for your specific little version of Symbian. If you a have Nokia device and the app is for Sony Ericsson, you're simply out of luck and there is no way to run the app on your device.
And then there are other stupid mistakes, of which the worst one is having to license your app with Symbian foundation (or whoever) to be able to install it on other devices. Imagine if you developed a Windows application (of which, note, there are gazillions today) and have to pay Microsoft for the privilege of being able to install it on other people's devices. Not going to work, is it? All other modern platforms either don't have this kind of "protection" at all (Windows Mobile, Android) or have it in a much less obtrusive way (iPhone, Pre).
This is a huge part of why Symbian failed - while WinMo has adopted the Windows development model, with really fantastic Visual Studio support and free exchange of applications, Symbian has a) sucky development tools, b) cannot even reach an agreement with itself on what toolkit to use for the UI - think GNOME/KDE but on a more massive scale and without the user having the ability to install "the other one" and c) requires *licencing* to distribute an application to any device. The last one is IMO what really killed it in the end: imagine Joe Random Developer writing an app in VB and having to pay Microsoft for the privilege of being able to install his application on his neighbor's PC. That's how sucky Symbian is, and that's what's killing (if it's not already killed - see iPhone, Pre and others) JavaME.
As Microsoft still has 90%+ of the installed OS base and IE6 shows no signs of being dead, if they don't support the VIDEO tag in Windows 7, or support it only with their own VC1 codec, that will effectively set both efforts (VIDEO and Theora) back at least 5 years.
It's not very imaginative to conclude that the ultimate goal of these technologies is to achieve convergence between the various devices, to seamlessly use them all from either one of them.
My own short-term wishlist is:
Store personal information, like the address book, possibly e-mail and other messages, etc. mirrored (synced in real time) between my mobile phone and a datacenter in a bunker somewhere safe. I carry my mobile phone around with me all the time, so every desktop should just pick up the data from it. OTOH, I also need a secure backup if I lose it. Encryption can solve most of the issues here.
Have a high-speed low-range wireless link between my desktop and my phone when I put it on the desk (or are somewhere in the room). By "high-speed" here I mean "enough to transfer data such as the mentioned address book, e-mail, etc." in real-time back and forth. 54 Mbit/s looks "good enough" for this purpose. I imagine something like Bluetooth on steroids, only less sucky, probably using IPv6 rather than some internal ad-hoc packet formatting. I want the mobile phone to be a regular network node and that's where Bluetooth fails. I also don't want for the phone batteries not to be excessively drained from using the link, so WiFi also fails.
If the mobile phone CPU is strong enough (and it looks like the new 500 MHz+ mobile phones are bordering "enough"), run some basic applications on the mobile phone but access it via "remote desktop" (e.g. VNC, RDP, whatever) from the desktop. Even better, use something like VMWare and similar applications do and make "seamless" integration between the windows of the mobile phone and the "real" desktop, with smart sharing of specific services like audio and phonecalls made from the desktop. Of course, I don't want to run big or CPU-intensive applications on the phone, but I imagine something with the capabilities of Word 95 (remember, it ran on 486 machines with 100 MHz and 4 MB of RAM) would be fine.
Have a long-range low-bandwidth connection for general Internet access (of course, with fallback to the low-range high-bandwidth one when in range), capable of relatively (from 2009. point of view) low-bandwidth tasks like streaming standard-def YouTube videos, city-wide.
This is what I think I need, YMMV. Much of these points are very very near of being done already. The major thing that's holding the whole concept back is that the cell-phone manufacturers (or probably more probably, the telcos) insist that the phones don't run a general purpose OS that would make it all possible with custom applications.
Anonymous routing is extremely difficult to accomplish on the Internet (cf. Tor), but that's actually the second-level problem. I'm much more concerned about physical access. How does the "educated urbanite" get bandwidth? I mean, from the physical level up?
Here are my possible scenarios, with problems I see in them:
An anonymous citizen with DSL-like broadband. Trivially easy to find, block, put into jail since PPPoE is usually used and with authentication. If the gov doesn't want to cut of the Internet entirely (and why not? who would stop them?), they could only open port 80 and block any first TCP segments that don't start with GET/POST/PUT.
An anonymous citizen with a modem. They are a bit trickier since they can dial internationally. But still, the gov probably owns the telcom, they log international calls meticulously, anyone with > 1 call per week is immediately a suspect, simply eavesdrop them to confirm data transfer and jail them.
A double-agent / conspirator; a government worker with normal access but on the side of the dissenters. Very, very tricky if not at the very top of the chain - has admin access to equipment, can delete logs. Again, if the gov doesn't cut landlines physically, there are enough countermeasures: 1) the trivially simple allow-and-monitor-port-80 game 2) if you must for some unknown reasons allow your employees all ports (why would you?), you can still do protocol inspection (though this is not as simple).
An individual with a satellite link. How many are they? The dishes don't have to be big so they're reasonably easy to hide, but what percentage of the population can have those? The owners can probably establish local pockets of access, but if it's wired, you can't spread much and if it's wireless, ether sniffers at 2.4 GHz are cheap and the grunts that comb the city don't need training to use them.
I guess it all depends on what level of access is enough. If a twitter-like message once a week is enough, there could be reasonable safety. But if I were an Evil Overlord, I would concentrate more on the physical access, and a good deny-all-allow-some firewall policy for backup. Of course, we could assume that the Iranian government is simply too ignorant to realize those measures can be implemented.
What technologies can be used that can't be blocked by other technologies or physical access?
Hmm.... there's information missing here. It would presumably be trivially easy for the Iranian government to:
Cut landmines, or at the very least, if the Internet is a vital part of their economy or government activities, to filter the source IP addresses to only the government computers, presumably all accounted for and with known users.
Do the same thing with telephone landlines.
Block all wireless carriers' Internet access, in case the information is spreading via GPRS, 3G, whatever, or simply shut down the wireless carriers for the moment in case it's "that serious" and they can't do #1 to the voice calls and SMSs.
Block their borders, in case dissidents regularly leave the country every few hours to report via unblocked Internet / whatever, then come back inside.
This leaves only the a) direct satellite two-way links, which are extremely uncommon, and b) people mooching Internet access around the borders. The latter can be dealt with.
The Internet is not magical. There have to be landlines. Landlines are wires. They can be cut. So how exactly is a reactionary government famous for interfering with people's lives, based on religious rules, having trouble keeping the Internet from its territory? I see two possible ways: 1) they're trying to play the "nothing wrong here" show to the rest of the world, who would maybe get suspicious of the country suddenly cut Internet access, or 2) there is a significant number of illegal landlines, with their own "fiber to the curb" distribution nodes for the dissenters. Both seem unlikely since they probably don't care about 1) and Someone Would Notice infrastructure of the size needed for 2).
The meaning of "3 dB" is "twice". Decibels are a logarithmic system, used for two reasons: 1) because for large & weird systems it's easier to say "120 dB" then "a trillion" (of course, this works in certain sciences only), and 2) because our sensitivity to light, sound and probably other sensory input is logarithmic so yes, "3 dB" taken in this context can intentionally be parsed as "small". But for pre-set algorithms (i.e. made to a predefined spec), "two times" is actually a lot of space to fuzz over. You can only do so much before you need to change the very spec that makes Theora - Theora.
A similar question is - when does it become OK to make fun of a war? I've been through a war, a proper one not a "bomb-technologically-inferior-military-from-gazillion-miles-away police action" type; this was a traditional war, with close combat and mass slaughter of civilians (which matters, because I was on the side of civilians and this side loses by default). Personally, I would never make or watch a comedy movie about the war nor make or play a game based on it, but it never occurred to me there was anything wrong with laughing at 'Allo'Allo or playing Battlefield 1942. I fully expect that people sometime somewhere will do all these things based on "my" war. It's human nature and it doesn't really provoke any kind of feelings about those who will watch it / play it. Go ahead.
"Formally proving" a kernel is something like formally proving your memory allocation algorithm will never fail, providing there's infinite memory available, proving your IO is perfect, providing there's 0 latency, infinite bandwidth and storage, and your security is unbreakable, providing absolutely everything is protected by one-time pads.
In real life, the situation is best described by the old saying: no battle plan survives first contact with the enemy. Kernel bugs are surely not uncommon but at most contribute to about 50% of the system (in)stability - the other half being the "real world" with which the kernel interacts: hardware, its greater environment (e.g. the network) and users. The kernel might be perfect, but at the same time can very elegantly go to pieces the first time it receives an invalid ATA response due to a flaky cable or it misses and interrupt timing because memory allocation algorithms take a little bit too long to defragment or find free space, or the users sets the root password to "god" and leaves a root-login-enabled sshd running. Even CPUs themselves have bugs.
In short, it's nice but the world will not suffer much if other popular kernel don't ever get to be formally proven.
Aren't there some much more nearby potential problems that will face the Sun-Earth system by itself (i.e. without meteors from space, etc.), like the Ice Age? Currently, we have passed the interglacial optimum (which happened three to five thousand years ago) and statistically, we are heading toward a Big Winter (popref GRR Martin - "The Winter is Coming" :) ). Technically, we are currently in an Ice Age.
It's "direct hardware access" in the same sense as the 2D accelerated DrawRectangle() is "direct hardware access".
OpenOffice (as StarOffice way back) reinvented the whole "OLE 2" thing to support in-place editing on multiple platforms, which of course wasn't (I don't know about now) compatible with MS Office's implementation.
Yeah but it would be kind of lame to claim to "port Android" and then not port the VM :)
Hopefully, since Android uses a java-like VM scheme, application would "just work" independently of the underlying hardware.
I read an very truthful-sounding (as well as depressingly down-to-earth) advice on new ideas that goes like this: "Don't worry if anyone will steal your ideas... if they're any good you'll have a hard time showing them down people's throats anyway."
The point is - ideas are a dime a dozen. If the idea needs some help to succeed - money, resources, people, etc. - which you don't have, there is very slim chance that some friend you tell it to will have them. If, and this is the really long shot - you ever come to find sponsors for the idea that would invest in it in any way - you will correctly assume you need lawyers. Once you convince *your sponsors*, you'll sell the idea to them anyway, in exchange for more or less money, depending on how good your lawyers are.
There is no way to get useful feedback on an idea by sitting on it and not discussing it with anyone.
Throughout history it was mostly left to individual efforts and chance - while certain rulers tried the stone tablet method of ensuring their subjects would talk about them for centuries to come, most of the records were done for contemporary purposes. It was important, for example, to record who fought where because they needed to get paid (in some way; upto giving land, etc.) not because some descendant 1000 years later would want to know about it. In the same way, future digital archeologists will find information from this era based on how important it was in certain cases. I think that information that was mirrored widely, like the Linux kernel, will be readily found, while information that is centralized, like Facebook pictures of drunken students, will perish soon (cf. Geocities). Note that torrent data is mirrored in a "lesser" way than the Linux kernel example, because while the torrent files are mirrored widely, the files they point to are not mirrored publically and widely. And this is ok. It's sort of Darwinian selection of data - if people *want* to keep the memory of Michael Jackson alive forever, they will. If the yesterday's episode of $sitcom sucks, it will go away on its own.
Unless a goverment or a rich person takes initiative to preserve unpopular data (peoples' personal information, tax records, etc.), this data will perish.
I've just seen Himalaya and you'll have to agree that it's in a different class as far as realistic visuals are concerned than Elevated. (yes, fractal terrain generators are an old chestnut but still - the increase in quality from Himalaya, 1K to Elevated, in 4K, is literally visible :) )
No, it just raises the bar. Back when all you had to work with was CGA in 320x200 it was impressive to show a rotating cube in 4k. Today, this demo nicely shows where the virtual bar is when even considering making a 4k demo. As you couldn't do "Elevated" on your 100 MHz 486 in *no* condition or with any libraries, so would you be laughed at if you presented a rotating cube or a wormhole today.
Here's an excerpt from TFA:
If you can do better, show your work :)
No, for the same reasons you can't stop anyone creating a web site (e.g. a blog) with a picture of you and the caption "This is $yourname", posting a picture of you with the same caption on a usenet group, or going to a bar, holding your picture in the air and shouting "This is a picture of $yourname".
Iff those things I enumerated could be effectively controlled and prevented, you have a reasonable chance of it succeeding with Facebook. In a society that allowed that, you also have a reasonable chance of dressing in black, worshiping a Fuhrer figure and oppressing a random minority because you officially hate the shape of their nose.
Today, everyone's famous for five mouse clicks or something such...
Yeah, but... which Symbian? What non-developers usually don't get is that currently Symbian is a lot like Linux - strictly speaking it's little more then an OS kernel with a bunch of low-level APIs. What users see, the GUI, is fragmented in the same way GNOME and KDE are fragmented, and with much worse results. The developers must build different versions of their application (UIQ, S60, others) for different devices, and the users cannot simply install "the other one" enabling them to run applications written for other devices. If someone says to you that there's an application doing X "for Symbian", you better pray it's for your specific little version of Symbian. If you a have Nokia device and the app is for Sony Ericsson, you're simply out of luck and there is no way to run the app on your device.
And then there are other stupid mistakes, of which the worst one is having to license your app with Symbian foundation (or whoever) to be able to install it on other devices. Imagine if you developed a Windows application (of which, note, there are gazillions today) and have to pay Microsoft for the privilege of being able to install it on other people's devices. Not going to work, is it? All other modern platforms either don't have this kind of "protection" at all (Windows Mobile, Android) or have it in a much less obtrusive way (iPhone, Pre).
This is a huge part of why Symbian failed - while WinMo has adopted the Windows development model, with really fantastic Visual Studio support and free exchange of applications, Symbian has a) sucky development tools, b) cannot even reach an agreement with itself on what toolkit to use for the UI - think GNOME/KDE but on a more massive scale and without the user having the ability to install "the other one" and c) requires *licencing* to distribute an application to any device. The last one is IMO what really killed it in the end: imagine Joe Random Developer writing an app in VB and having to pay Microsoft for the privilege of being able to install his application on his neighbor's PC. That's how sucky Symbian is, and that's what's killing (if it's not already killed - see iPhone, Pre and others) JavaME.
As Microsoft still has 90%+ of the installed OS base and IE6 shows no signs of being dead, if they don't support the VIDEO tag in Windows 7, or support it only with their own VC1 codec, that will effectively set both efforts (VIDEO and Theora) back at least 5 years.
It's not very imaginative to conclude that the ultimate goal of these technologies is to achieve convergence between the various devices, to seamlessly use them all from either one of them.
My own short-term wishlist is:
This is what I think I need, YMMV. Much of these points are very very near of being done already. The major thing that's holding the whole concept back is that the cell-phone manufacturers (or probably more probably, the telcos) insist that the phones don't run a general purpose OS that would make it all possible with custom applications.
Well the bailouts need to be funded *somehow*. What else to expect?
I think it works in OSS; at least it works as expected in FreeBSD which uses OSS.
Anonymous routing is extremely difficult to accomplish on the Internet (cf. Tor), but that's actually the second-level problem. I'm much more concerned about physical access. How does the "educated urbanite" get bandwidth? I mean, from the physical level up?
Here are my possible scenarios, with problems I see in them:
I guess it all depends on what level of access is enough. If a twitter-like message once a week is enough, there could be reasonable safety. But if I were an Evil Overlord, I would concentrate more on the physical access, and a good deny-all-allow-some firewall policy for backup. Of course, we could assume that the Iranian government is simply too ignorant to realize those measures can be implemented.
What technologies can be used that can't be blocked by other technologies or physical access?
Hmm.... there's information missing here. It would presumably be trivially easy for the Iranian government to:
The Internet is not magical. There have to be landlines. Landlines are wires. They can be cut. So how exactly is a reactionary government famous for interfering with people's lives, based on religious rules, having trouble keeping the Internet from its territory? I see two possible ways: 1) they're trying to play the "nothing wrong here" show to the rest of the world, who would maybe get suspicious of the country suddenly cut Internet access, or 2) there is a significant number of illegal landlines, with their own "fiber to the curb" distribution nodes for the dissenters. Both seem unlikely since they probably don't care about 1) and Someone Would Notice infrastructure of the size needed for 2).
Can anyone give more details?
Here's a very simple test page: http://lachy.id.au/dev/markup/tests/html5/video/003.html .
In all probability, Mozilla is the best funded Open source project ever!
The meaning of "3 dB" is "twice". Decibels are a logarithmic system, used for two reasons: 1) because for large & weird systems it's easier to say "120 dB" then "a trillion" (of course, this works in certain sciences only), and 2) because our sensitivity to light, sound and probably other sensory input is logarithmic so yes, "3 dB" taken in this context can intentionally be parsed as "small". But for pre-set algorithms (i.e. made to a predefined spec), "two times" is actually a lot of space to fuzz over. You can only do so much before you need to change the very spec that makes Theora - Theora.
In other news: Empty envelopes might be used to convey messages! News at 11!
A similar question is - when does it become OK to make fun of a war? I've been through a war, a proper one not a "bomb-technologically-inferior-military-from-gazillion-miles-away police action" type; this was a traditional war, with close combat and mass slaughter of civilians (which matters, because I was on the side of civilians and this side loses by default). Personally, I would never make or watch a comedy movie about the war nor make or play a game based on it, but it never occurred to me there was anything wrong with laughing at 'Allo 'Allo or playing Battlefield 1942. I fully expect that people sometime somewhere will do all these things based on "my" war. It's human nature and it doesn't really provoke any kind of feelings about those who will watch it / play it. Go ahead.
http://www.facebook.com/ext/share.php?sid=92813606083&h=zB8rW&u=6tzPt&ref=nf