I agree. This is also not just simplification, but a kind of "thought stopper". If you can say "I can't help myself from cheating, it's in my genes!" then what makes it unacceptable to say "I can't help myself from raping, it's in my genes to have sex!", and so on. To quote Richard Dawkins: "Genetic causes and environmental causes are in principle no different from each other. Some influences of both types may be hard to reverse; others may be easy to reverse. Some may be usually hard to reverse but easy if the right agent is applied. The important point is that there is no general reason for expecting genetic influences to be any more irrevocable than environmental ones." (The Extended Phenotype, p. 13). In other words, being genetically predisposed to something doesn't make you helpless to prevent yourself from doing it, and doesn't serve as a catch-all excuse to justify anything you like.
He's already refused to give up the password, so I think he's going to let you down on this. He's giving the *police* the runaround, but even in such cases I don't think presumption of innocence should desert you. If so then I'd be the first to cry out in his defence. Otherwise I'd have to say goodbye to this country; the idea that I'd lie down and take it.hurts my conscience.
The good news is that the Marvel chip won't support Windows.
The bad news is that the child with an OLPC while she may learn to do art on her computer, won't learn to do anything helpful in any labor market on earth. With a tablet, she won't even learn to touch type. I know that the project wants to prepare her for more self-actualizing career, such as poet, designer, president or CIO, very few will have that opportunity if they can't get an entry level job in the urban sector.
Erm... how about she can learn Maths, Science, programming, engineering, etc. etc.? How about she Googles for a better way to sanitise water, or look after cattle, or for the price of bread in the nearest towns? How about she uses it to contact people who can give her advice on how to care for her sick mother? Do you seriously think computers exist so that people can learn to touch type??!
The OLPC project went nowhere. They took money and work from the community, then they sold themselves to microsoft, and achieved none of all their goals. The project went nowhere.
Not this old bullshit again. OLPC didn't "sell out to Microsoft" any more than, for example, Linux Emporium or System76 has. You can install Windows on an OLPC laptop (apparently, though I've never seen the process) & you can install Windows on a Linux Emporium or System76 laptop. Nobody ever does install Windows on an OLPC though, since every one of the million+ laptops out there is running Linux.
There are already awesome tablets like the aPad that exist right now and retail for less than 200 dollars. I'm sure you could drive them below 100 if you built enough and bought them altogether.
And there were plenty of laptops around when OLPC was first announced. What's your point? Are you yet another lazy journalist who sees "$100 laptop" and doesn't bother reading any of the explanations, justifications, goals or philosophy of the project?
Why are we still listening to the OLPC's pipe dreams about developing hardware? They already proved that they can't get anything done, and that they will sell out if necessary. Want to do something? The product you want is already out there. Buy it, drive its price down, and start delivering.
If you want a cheap tablet PC then sure, go ahead and buy one that's already out there. A problem the OLPC project stumbled into was that some of their hardware looked cool to people who wanted a cheap laptop, but who didn't bother reading/comprehending the actual specifications. Thus many people bought into the Give 1 Get 1 scheme only to be disappointed at the machine they got, saying it's too small, the keyboard isn't standard size, it's not got much RAM, the processors's not very fast, it's not got much storage, etc. when in fact, the delivered machines had HIGHER specs than were originally envisioned (eg. the RAM was doubled to 256MB)! Of course many of these people jumped ship to netbooks when they came out, since their grandiose ideals of changing the world turned out, in fact, to boil down to wanting the same thing they already had but cheaper.
Personally I'm really happy with my XO. It's incredibly portable, has excellent battery life, is completely usable outside in the sun and has really good Wifi connectivity. I use it a lot for development.
Yeah, I was hoping this would be something like "Mozilla has an idea for an open phone platform based on a flexible UMPC". Even Android is locked down by the carriers or whoever.
But no, it's, "Mozilla has a crazy-ass idea for projector phones".
I don't want new technology in phones, I just want the existing stuff to become open so *I* can use it instead of having the manufacturer use it on my behalf.
Android isn't locked down by mobile carriers. At least, the Android installation on my OpenMoko isn't. Neither is the Debian+Qtopia system I've got on the microSD. Or were you talking about some other open phone platform?
...people need to understand the concepts of bits, bytes, words, longwords, binary/octal/hex numbers, thinking sequentially and logically, what an operating system actually does, what an IO system is and does, how a computer actually does math, etc., etc., etc.
I think there's a careful distinction to be made in such a discussion, between fundamental concepts and implementation details. For example, I think knowing binary is an important skill for a casual (non-professional) programmer, whilst hex isn't so much since it's just used as a more compact form to displaying binary in for humans*. Similarly bits are important, bytes not so much since the notion of 8 bits in a byte is just an arbitrary standard. Knowing things like the distinction between float and double, short and long, etc. isn't IMHO suitable for such an age group. This is because learning such things enough to be second-nature is often difficult since they're arbitrary and thus will probably rely on rote-learning (ie. they're boring) but more dangerously, since they would always be in the student's mind when they're taking the course it would distract them from the actual concepts being taught.
At University every computing course I took was based in Java (though I learned C and C++ from my Physics classes too), and it showed: Masters level students would struggle to grasp important steps in straightforward algorithms, yet their incorrect coursework implementations would show a clear appreciation for such irrelevant details as serialise versions (in code destined to never have a subsequent version), extraneous exception handler definitions (most of which would actually leave the state in a broken way) and elaborate layering of objects for streams, readers, writers, buffers, builders, factories, etc. to get data into and out of their wrong, one-method implementation of the algorithm, in a text-book-exact way (sometimes not even changing the variable names).
My recommendations for things to include:
Message-passing Object Oriented programming; no throwbacks from structured programming like if/then/else, for/foreach/while/dowhile, etc. Stick to one concept that has no special-cases, and languages with as few reserved keywords as possible (since lots of keywords implies that some things need to be achieved via some non-pervasive concept, usually hard-coded into the compiler/interpreter). Here I would recommend Smalltalk ( http://www.smalltalk.org/main/ ), since it's been taught to children for years all over the world, so there's lots of experience to build on. It's based on objects with classes which send and receive messages, and essentially defined OO programming as it's known today. There's very little syntax to learn, if/then/else are messages sent to objects (eg. myCondition ifTrue: myTrueCode ifFalse: myFalseCode), loops are also messages (myListOfObjects do: myLoopBody) and so on. The distinction between classes and instances might be unnecessarily confusing, so you *may* want to look into languages like Self ( http://selflanguage.org/ ) which use prototypes in a similarly pervasive way. Smalltalk also has Etoys ( http://www.squeakland.org/ ) to play with, which is a prototype-based 'ultimate LOGO' and really makes the message-passing concept of OO explicit via the menu structure. DrGeo ( http://community.ofset.org/index.php/DrGeo ) runs in Smalltalk, which provides an incentive to kids to learn the system (since it would give those students who learn it an advantage in Maths classes, since they'd have access to a really sophisticated geometric calculator). Scratch ( http://scratch.mit.edu/ ) is built in Smalltalk too, but bears little relation to the underlying system (whereas with Etoys it is a simple step to pure Morphic, then to classes/instances, then t
When A arrives, he/she quickly pulls out a telescope or some such device, turns around, and watches her own arrival. How can she already be there if she is just arriving?
When the speed of sound is broken by a jet, they could actually fly for quite a while, stop, turn around, and then hear the sound of them arriving. Why should light be any different? I don't understand why light and time are seen together. I think it should be something more akin to a sort of faster version of sound..except it's light.
Indeed, the example given was flawed in the way you describe: the light != the event, therefore no paradox. However, there are various ways to arrive at the conclusion of no faster than light travel:
1) Light travels at the same speed through a vacuum no matter how the observer is moving. This was a well tested experimental result before Einstein explained it theoretically. The light coming out of a car's headlights at 60mph is not going at the speed of light + 60mph, it's going at the same speed as that from a stationary car. This can be explained by modifying Galileo's relativity slightly, so rather than simply adding the velocities there is a slight change applied called a Lorentz transform. This explains how all observers can measure the same speed, and it's physical interpretation is that space contracts and time extends. This effect becomes more and more important as speed increases, until a certain speed at which time is infinitely extended (ie. 'time stops'). This is the 'speed limit' of the Universe, since 'going faster' makes no sense (how can time be stretched longer than infinity?). It also just-so-happens to be the speed at which light travels, so the problem isn't 'beating light', it's that space and time dictate no such thing as faster than this speed, thus even light is stuck, like us, to never go faster.
2) Discounting air-resistance, it's easier to move things with less mass than those with more mass. Thus light, which has no (rest) mass, is easier to move than anything with mass. Thus light can go faster than any space ship.
3) The amount of energy bound together into matter is given by E=m*c^2, where m is the rest mass. Thus the total energy for an object is totalE=(m*c^2)+(kinetic energy)+(potential energy). If we want to make an object go faster then its kinetic energy must increase. To do this we can either give it more energy (increasing totalE) or turn some of the other energy into kinetic energy. We can usually turn potential energy into kinetic energy easily (eg. falling via gravity, burning fuel in an engine, etc.), so we can use all of that up and have totalE=(m*c^2)+(kinetic energy)+0. The only other energy we can change to kinetic is the rest mass, which we can do via nuclear reactions or, if we want to convert it all, via matter-antimatter annihilation. If we do the latter then all of the energy is kinetic and we're going as fast as we possibly can. However, the output of matter-antimatter annihilation is light, so we've just proved that we can't go faster than light again! There's no use adding more energy to the light from outside, since that won't change its speed, only the frequency. Adding energy without doing any annihilating will either require adding light, or else adding some massive particles which will actually slow us down by increasing the rest mass.
4) From a fundamental perspective, we can build up a theory of the Universe without needing space or time. We start by saying that there are 'events', and then we relate those to each other using partial orders by saying things like 'event A occurs before event B', which seems to imply time. However, what we find is that it's perfectly acceptable to say 'event A occurs before event B, event B occurs before event C and event C occurs before event A' (in the same way that rock > scissors, scissors > paper but paper > rock). We can account for such things by noticing that from each eve
You mean nobody ever thought of this before?!?!?!?!
Personally I would have thought that rates of radioactive decay would be affected by things like gravity and temperature. Perhaps I'm wrong?!
Such things would, ever so slightly, affect measurements of decay rate due to the general and special theories of relativity respectively.
1) Stronger gravity = slower time, so a sample decaying in a strong gravitational field will look, when timed from a place with weaker gravity, to be going slower than normal. This could be done, for example, with a sample on the Earth's surface and the observer in space. 2) Temperature is the average kinetic energy of particles, so higher temperature means that the atoms are bouncing around faster. Normally this only leads to a spreading-out of measurements (eg. http://en.wikipedia.org/wiki/Doppler_broadening ), but special relativity tells us that the faster you go, the slower time gets. Thus a sample which is a few thousand degrees will decay slower than a sample near zero kelvin, but this change would be very slight as thermal velocities are a couple of orders of magnitude below the speed of light.
That memo basically makes the point that a pixel is an infinitesimally small point, a sample representative of the colour in that area. The sampling can be of any form, for example it may have a Gaussian shape, and thus when displaying an image made of these pixels (samples) we should spread the colour of those points to the surrounding area in a suitable way (eg. with a Gaussian).
If we're talking about PC monitors then we may presume that the display is made out of little squares, but we must think about the best way to map our sample of image colour (our pixels) onto that surface of squares. Doing a 1:1 mapping might be OK in some cases, but it's a very naive approach, especially if the pixels are further apart than the squares on the display.
There are plenty of business opportunities and markets for Mary Lou to explore !
I can't wait until these are in ATMs (cash machines). Those bastards are so hard to read sometimes that I can have my face right up to them, hands forming a tunnel to the screen and STILL not make out the text!
If you're outside, you should, you know, be outside, doing outsidey kinds of things.
Laptops are only an "indoorey" thing because their screens are pretty crap in the sunlight. This fixes the problem, thus why shouldn't computers be an "outsidey" kind of thing?
I use my XO outside all of the time. It's great to sit on a quiet bench in a park, have some lunch, feed the ducks and hack on some Python:)
I completely agree with your posts. I also did CS as a 'minor', taking Physics 'major', at a red-brick University. The contrast between the two subjects is huge: there were far more questions asked in the Physics classes, and usually about the concepts being put across, whilst in the CS courses there were never any raised hands, except when a semicolon was missing on a lecture slide and half the room would bark up. We spent a whole lecture learning about Sine and Cosine waves in a fourth-year MSc module, I overheard in another MSc module 'What the fuck is an integral?', the 2nd year Networking module spent 3 weeks on binary addition exercises, 'Distributed Computing' covered 'Hello World' in Java where the string is sent by a different JVM plus a brief mention of locks and mutexes (as in 'write "synchronized" before your methods'), programming labs were spent explaining what files and folders are and so on.
It's truly a terrible state of affairs, and I mentioned this to the department at every opportunity.
Today's IT don't need a bunch of uber-gods. It needs competent people building usable IT systems based on good practices of C.S. That's what C.S graduates should be. Some schools make a thinking pros, others produce trained monkeys. Both are needed in a sensible balance but what fails in employment process is distinguishing if a trained monkey or a thinker was needed and witch category does the person being considered belongs to.
Who said anything about IT? IT should recruit Software Engineers; leave the Computer Scientists alone. Scientists are meant to discover what is already there, not to build things. The only things scientists should build are experiments in order to discover what happens, which is exactly the opposite of the predictable, reliable, maintained systems needed for IT.
Also, we are in DESPERATE need of uber-gods. For a rather tongue-in-cheek example look here http://stackoverflow.com/questions/432922/significant-new-inventions-in-computing-since-1980 . Computer Science has solidified into a 'known' thing, much like 19th Century Physics was Newton + Thermodynamics + Maxwell's Equations, with everything else, the entire study of the whole Universe, being considered as 'working out more decimal places'. 'Knowing' things in any Science can be dangerous, especially in one as young as Computer Science. We need 'uber-gods' to point out the obvious, the assumptions we've been making that have cut us off from vast unexplored territories. Computer Science is certainly not about 'building usable IT systems' any more than Quantum Mechanics is about building efficient steam engines, despite the latter kick-starting Physics as we know it.
Another problem IMHO is that there's lots of 'fluff' going on under the label Computer Science, for example pulling quantities out of social network statistics, which belong in other subjects (eg. Sociology). Just because something can be done on top of computers doesn't make it automatically Computer Science, any more than the study of spoken language is research in Fluid Dynamics, Meteorology and Wave Theory. This distracts from fundamental research (proof & model theory, decidability, information theory, formal linguistics, programming language theory, etc.), in the same way that Materials Science can distract from fundamental Physics and is thus a separate-but-related discipline.
We can describe the particles as communicating instantaneously, but there's no way to harness this since it requires that BOTH particles are in unknown states.
Imagine the following situation: You've got two entangled bits which are opposite, called A and B, and you move them a light year apart. What information can you send?
Let's say someone looks at bit A and it is a 1, that person knows that B must be a 0 since they're opposite, so they radio this to you. You're sat patiently next to B for a year before receiving their radio broadcast, so nothing's travelled faster than light.
Instead let's say that they look at A and it's a 1 and you look at B and it's a 0. Once again, what information has travelled faster than light? None, since you've not exchanged information, you've merely looked at the states of your respective bits, which you brought with you at sub-luminal speed.
Now let's say you try and be more clever; rather than using A and B to store your transferred information, you use an *observation* of A, or a lack of it, at an appointed time to indicate it (eg. "I'll measure A at 11:00 if I mean '1', and won't if I mean '0'). How do we, holding on to B, know whether A has been measured yet? All we can do is look at B and see a 1 or 0, which will happen with 50% probability regardless whether our measurement is first or second.
The crucial points are that 1) we cannot CAUSE either to be a 1 or 0, we can only measure what they are, and 2) to get any information out requires knowlege of measurements of BOTH bits, which must be sent via something like radio which is sub-luminal.
It is very hard to improve if you're already close to technical and physical limits and any made improvement won't look as impressive.
"Everything that can be invented has been invented." Apparently misattributed as being said by Charles H. Duell of the US Patent Office in 1899, but the point stands.
IMHO the mobile market's not particularly far behind the PC, for instance my phone's 400MHz and so is my laptop, and they're both a few years old now (Freerunner and XO-1). They both running Linux, Enlightenment 0.17, Pidgin, Midori, etc.
I think the mojor problem with mobiles is the software, based on the fact that that very few people think of them as computers. To a techie, a mobile phone is a stripped-down digital computer that can barely do email. To the average mobile phone buyer it is an incredibly advanced version of the analogue phone which can even do email. Apple announce something simple and obvious, like multitasking for example, and it's apparently a huge leap for the mobile phone. When thought of as a computer, on the other hand, such things underline the lack of development for these things. Who cares if the iPhone App Store has loads of programs? There's already a shit-ton of applications out there on the Web. For example, here's OpenOffice.org http://wiki.openmoko.org/wiki/Image:Freerunner_Debian_runs_openoffice3.jpg
There's some really fascinating research going on with Cellular Automata by Biologists and Chemists. For instance Seeman, Winfree and others have investigated building cellula automata cells directly out of DNA, and encoding the rules of the CA as dangling "sticky ends". This means that as the cells float around in a test tube (or whatever) they have single strands of DNA reaching out into the solution. If two of these strands come together which have complementary bases (they are designed to complement if they represent a valid rule application) then they pair up to form a double strand, which sticks the two cells together. This makes a physical cellular automata, where a spatial dimension is incremented in place of time.
I'm fascinated by this stuff, and used it as the topic for a University essay that I may as well shamelessly promote here http://chriswarbo.webs.com/DNAEssay.pdf;)
To shorten your post: AIs will exist when a computer can write code for itself to run without interaction from a user. Given a problem, and having no prior knowledge of a solution, nor a way to arrive at the solution, an AI will be capable of creating a set of instructions to solve that problem.
That's a rather restrictive definition of intelligence, I think. How do humans solve problems we confront/are given? We certainly have prior knowledge of a solution, since we have a lifetime of experience which will no doubt include some things we think might be relevant, even if that's just how to move our arms and legs. We also have a definite way to arrive at a solution, which is to try some of those things and see what happens, then go from there. This will either make the problem unsolvable (eg. attempting brain surgery with an axe, after which we have to give up) or will bring us closer to a solution (even in the case of compounding a problem, we will know not to repeat whatever we just did, which is an improvement over our prior ignorance).
For some problems we can do this mentally by asking ourselves "What if" questions, or we might build simulations and models to help us tackle the real problem, but ultimately we're doing the same thing. After we've tried a lot of approaches (either mentally or physically) and we end up solving it, we can back-track and write down those bits which worked. These things don't seem too difficult to program, which is why AI has seemed so close for so long.
To deny a computer program these tactics by banning 'prior knowledge' and 'a way to arrive at the solution' would be unfair. For example we would deem it an unfair test of human intelligence if we sat a hunter-gatherer from 20,000 years ago in front of a calculus exam, since he has no prior knowledge of what to do; he wouldn't know how to read or write, or what those concepts even are, let alone concepts like incrementing a function's parameter by an infinitesimal amount. It requires years of education for a human's memory to incorporate such concepts, with lots of people (teachers) being paid to repeat and build up these memories every day.
However, if we gave a computer program some kind of education, for instance giving it a database containing definitions of functions, numbers, integration, differentiation, etc. and then it aced the calculus exam, there are those who would claim that it's not fair because it was 'only using its database' or 'only using logic' or some other hand-wavey statement. In fact, if we paid a multitude of people to input data into these databases every day for 10 years just to get the program to spit out correct answers to the calculus exam then many would call it a waste of time, money and effort.
Thinking about it this way though, it sheds new light on the way the education system is set up;)
I had a similar experience when I visited CERN. Granted it wasn't a spontaneous trip (was arranged as part of a particle physics course), but when being shown around it was repeated over and over that we can go anywhere we want (but that it's not a good idea to enter radioactive or cryogenically frozen areas, of course), we can take photos of anything, etc. This is because 1) it's a place of research, so nobody should be discouraged from researching CERN itself 2) due to the politics involved, no participating country has authority to stop people from any other participating country from doing anything they want 3) it's publicly funded, so should be available to the public and 4) it lowers worries about clandestine weaponisation of the technology they have (especially since the word Nuclear crops up a lot).
It was a fascinating trip and I would recommend it to anyone:)
Oh, they intend to implement remote control of another computer functionality. Whats the news in this, you can even do this on a iphone!
Indeed, it's a bit of a hack for backwards compatibility. To be honest, if I had to use remote desktop to access such apps then I'd use Open Cobalt as my 'desktop', since that uses VNC for 'legacy' apps, including XDMCP to spawn new instances as needed, and having a multi-user, p2p 3D desktop is more futuristic than everything in the brwser IMHO.
Since light cannot escape the event horizon, it must be black.
Right, because anyone imprisoned anywhere must be black, because only blacks break the law and get locked up.
How dare you claim Astrophysicists to be racist on such misinformed prison analogy speculation! I'll have you know it's actually due to a sprinting analogy.
Any word on what technology this is built on? IMHO there's no reason not to use a platform like OpenCobalt in favour of reinventing the wheel. Especially in a business environment, where bleeding-edge graphics power isn't the point...
In truth, akonadi and nepomuk are just a waste of system resources. Not only are they not needed, they're buggy as hell. Seems to me the kde devs have gotten lost in minutiae and forgotten that the point of a DE really is to provide a transparent, appealing framework from which to run apps. If it gets in the way or demands you read a lot of documentation, it means you're doing it wrong.
Hell, it was less effort for me to script my own DE functionality around awesome wm than to learn kde4 so I could support my users who want it.
'In truth, graphics and sound are just a waste of system resources. Not only are they not needed, they're buggy as hell. Seems to me the kde devs have gotten lost in minutiae and forgotten that the point of a shell really is to provide a transparent, appealing framework from which to run apps. If it gets in the way or demands you read a lot of documentation, it means you're doing it wrong.
Hell, it was less effort for me to script my own shell functionality around bash shell than to learn kde4 so I could support my users who want it.'
Should Free Software really be playing a game of catch-up to proprietary software? The two main proprietary OSs are Mac, which defaulted to a GUI in 1984, and Windows which did the same in 1985. KDE and Gnome, the two main Free Software GUIs, came out around 1997 and 1998, 13 years later.
Now, GUIs were new fangled way of interacting in the 80s. What's the new fangled equivalent at the moment? One candidate is Internet-accessible services/databases/RDF/LinkedData/SemanticWeb/etc. At the moment these are almost entirely Web-centric: everyone's solution to interoperability and ubiquitous access seems to be to dump more stuff on the Web. Let's see how that might pan out:
Success: Everything is now done in the browser. The desktop paradigm dies, taking projects like KDE with it, and everything becomes the browser tab.
Failure: It doesn't work out properly. We're left with a mess of incompatible, buggy sites that make trying to get anything done a nightmare. It's all thrown out as a bad idea because it didn't work on the Web. We move back to the desktop, which has none of the networked-database goodness.
Now, what happens if a desktop like KDE integrates this technology into itself? In the success case that the Web takes over, KDE does not die. It becomes even more useful since it can interact with all of these Web equivalents because it's all standard. No more "doesn't work with Linux/BSD/etc.", because everything's on the Web, and KDE is an extension of that Web outside the confines of HTML and the browser.
In the failure case that this Web migration breaks down then not all hope is lost, since this stuff is still available in every other application that doesn't happen to be Web-based.
In reality, of course, there'll be a middle ground. However, you can bet that in the next few releases of OSX and Windows there will be equivalents to Nepomuk turning up. Of course the Windows one will look like a combination of Exchange and the registry, such that small database updates can break the system, and nobody sans Microsoft can interact with it. The OSX one will probably be more standard, stable and useful, but the database will only allow updates from the iTunes Data Store. Do we really have to wait for such crippled systems to cement themselves in place before we realise that we want one too, or do we grab some EU funding now and try to do it right?
It doesn't stop you from using KDE4, or KDE3, or sitting in a console and doing your image editing via Emacs on an XPM file.
Very uninformative. It sounds like UEFI is a BIOS (basic input-output system), only it's mouse/graphics based rather than text based. What am I missing here?
If by "BIOS" you mean "the system which loads the OS" then indeed UEFI is just a BIOS. There are also loads of other such systems, like the OpenFirmware (OFW) which, from playing around on my OLPC XO-1, can do traditionally high-level things such as scanning for Wifi networks, displaying a live Webcam image, interacting with the mouse, etc. There is also CoreBoot (formerly LinuxBIOS) which was designed for boot speed (on supercomputers), and there are probably loads more. In fact, my Amiga 1200 from 1992 had a boot menu which used the same GUI as the OS (like this http://www.gregdonner.org/workbench/images/wb_30_1.gif ), since part of the OS was stored inside onboard chips.
"BIOS" also has another, more formal meaning though, which is the programming calls it implements. Using these calls within a piece of code will work on any system with a BIOS, but not necessarily on any of the alternatives. However, they can be emulated on top of these other systems without anything noticing (like BootCamp does).
Also I forgot, from the functional programming side there is a pretty cool learning system from Brown built with PLT Scheme and the DrScheme IDE. It's approach is to complement Maths classes in school, so that Maths teaches about functions like f(x) = x^2, then in DrScheme there is the same notion of functions, but instead of just acting on numbers they act on anything, including graphics. Systems are then composed from a load of these functions acting on "the world", and there is an Android port I've played with called Moby. You can find this stuff at http://world.cs.brown.edu/
I agree. This is also not just simplification, but a kind of "thought stopper". If you can say "I can't help myself from cheating, it's in my genes!" then what makes it unacceptable to say "I can't help myself from raping, it's in my genes to have sex!", and so on. To quote Richard Dawkins:
"Genetic causes and environmental causes are in principle no different from each other. Some influences of both types may be hard to reverse; others may be easy to reverse. Some may be usually hard to reverse but easy if the right agent is applied. The important point is that there is no general reason for expecting genetic influences to be any more irrevocable than environmental ones." (The Extended Phenotype, p. 13).
In other words, being genetically predisposed to something doesn't make you helpless to prevent yourself from doing it, and doesn't serve as a catch-all excuse to justify anything you like.
Considering they think he has child pornography, I think the response is reasonable.
I think you have child pornography. Can I lock you up please?
I wonder what he is hiding.
He's already refused to give up the password, so I think he's going to let you down on this. He's giving the *police* the runaround, but even in such cases I don't think presumption of innocence should desert you. If so then I'd be the first to cry out in his defence. Otherwise I'd have to say goodbye to this country; the idea that I'd lie down and take it.hurts my conscience.
The good news is that the Marvel chip won't support Windows.
The bad news is that the child with an OLPC while she may learn to do art on her computer, won't learn to do anything helpful in any labor market on earth. With a tablet, she won't even learn to touch type. I know that the project wants to prepare her for more self-actualizing career, such as poet, designer, president or CIO, very few will have that opportunity if they can't get an entry level job in the urban sector.
Erm... how about she can learn Maths, Science, programming, engineering, etc. etc.? How about she Googles for a better way to sanitise water, or look after cattle, or for the price of bread in the nearest towns? How about she uses it to contact people who can give her advice on how to care for her sick mother? Do you seriously think computers exist so that people can learn to touch type??!
The OLPC project went nowhere. They took money and work from the community, then they sold themselves to microsoft, and achieved none of all their goals. The project went nowhere.
Not this old bullshit again. OLPC didn't "sell out to Microsoft" any more than, for example, Linux Emporium or System76 has. You can install Windows on an OLPC laptop (apparently, though I've never seen the process) & you can install Windows on a Linux Emporium or System76 laptop. Nobody ever does install Windows on an OLPC though, since every one of the million+ laptops out there is running Linux.
There are already awesome tablets like the aPad that exist right now and retail for less than 200 dollars. I'm sure you could drive them below 100 if you built enough and bought them altogether.
And there were plenty of laptops around when OLPC was first announced. What's your point? Are you yet another lazy journalist who sees "$100 laptop" and doesn't bother reading any of the explanations, justifications, goals or philosophy of the project?
Why are we still listening to the OLPC's pipe dreams about developing hardware? They already proved that they can't get anything done, and that they will sell out if necessary. Want to do something? The product you want is already out there. Buy it, drive its price down, and start delivering.
If you want a cheap tablet PC then sure, go ahead and buy one that's already out there. A problem the OLPC project stumbled into was that some of their hardware looked cool to people who wanted a cheap laptop, but who didn't bother reading/comprehending the actual specifications. Thus many people bought into the Give 1 Get 1 scheme only to be disappointed at the machine they got, saying it's too small, the keyboard isn't standard size, it's not got much RAM, the processors's not very fast, it's not got much storage, etc. when in fact, the delivered machines had HIGHER specs than were originally envisioned (eg. the RAM was doubled to 256MB)! Of course many of these people jumped ship to netbooks when they came out, since their grandiose ideals of changing the world turned out, in fact, to boil down to wanting the same thing they already had but cheaper.
Personally I'm really happy with my XO. It's incredibly portable, has excellent battery life, is completely usable outside in the sun and has really good Wifi connectivity. I use it a lot for development.
Yeah, I was hoping this would be something like "Mozilla has an idea for an open phone platform based on a flexible UMPC". Even Android is locked down by the carriers or whoever.
But no, it's, "Mozilla has a crazy-ass idea for projector phones".
I don't want new technology in phones, I just want the existing stuff to become open so *I* can use it instead of having the manufacturer use it on my behalf.
Android isn't locked down by mobile carriers. At least, the Android installation on my OpenMoko isn't. Neither is the Debian+Qtopia system I've got on the microSD. Or were you talking about some other open phone platform?
...people need to understand the concepts of bits, bytes, words, longwords, binary/octal/hex numbers, thinking sequentially and logically,
what an operating system actually does, what an IO system is and does, how a computer actually does math, etc., etc., etc.
I think there's a careful distinction to be made in such a discussion, between fundamental concepts and implementation details. For example, I think knowing binary is an important skill for a casual (non-professional) programmer, whilst hex isn't so much since it's just used as a more compact form to displaying binary in for humans*. Similarly bits are important, bytes not so much since the notion of 8 bits in a byte is just an arbitrary standard. Knowing things like the distinction between float and double, short and long, etc. isn't IMHO suitable for such an age group. This is because learning such things enough to be second-nature is often difficult since they're arbitrary and thus will probably rely on rote-learning (ie. they're boring) but more dangerously, since they would always be in the student's mind when they're taking the course it would distract them from the actual concepts being taught.
At University every computing course I took was based in Java (though I learned C and C++ from my Physics classes too), and it showed: Masters level students would struggle to grasp important steps in straightforward algorithms, yet their incorrect coursework implementations would show a clear appreciation for such irrelevant details as serialise versions (in code destined to never have a subsequent version), extraneous exception handler definitions (most of which would actually leave the state in a broken way) and elaborate layering of objects for streams, readers, writers, buffers, builders, factories, etc. to get data into and out of their wrong, one-method implementation of the algorithm, in a text-book-exact way (sometimes not even changing the variable names).
My recommendations for things to include:
Message-passing Object Oriented programming; no throwbacks from structured programming like if/then/else, for/foreach/while/dowhile, etc. Stick to one concept that has no special-cases, and languages with as few reserved keywords as possible (since lots of keywords implies that some things need to be achieved via some non-pervasive concept, usually hard-coded into the compiler/interpreter). Here I would recommend Smalltalk ( http://www.smalltalk.org/main/ ), since it's been taught to children for years all over the world, so there's lots of experience to build on. It's based on objects with classes which send and receive messages, and essentially defined OO programming as it's known today. There's very little syntax to learn, if/then/else are messages sent to objects (eg. myCondition ifTrue: myTrueCode ifFalse: myFalseCode), loops are also messages (myListOfObjects do: myLoopBody) and so on. The distinction between classes and instances might be unnecessarily confusing, so you *may* want to look into languages like Self ( http://selflanguage.org/ ) which use prototypes in a similarly pervasive way. Smalltalk also has Etoys ( http://www.squeakland.org/ ) to play with, which is a prototype-based 'ultimate LOGO' and really makes the message-passing concept of OO explicit via the menu structure. DrGeo ( http://community.ofset.org/index.php/DrGeo ) runs in Smalltalk, which provides an incentive to kids to learn the system (since it would give those students who learn it an advantage in Maths classes, since they'd have access to a really sophisticated geometric calculator). Scratch ( http://scratch.mit.edu/ ) is built in Smalltalk too, but bears little relation to the underlying system (whereas with Etoys it is a simple step to pure Morphic, then to classes/instances, then t
Wait a second here, this sounds familiar.
When A arrives, he/she quickly pulls out a telescope or some such device, turns around, and watches her own arrival. How can she already be there if she is just arriving?
When the speed of sound is broken by a jet, they could actually fly for quite a while, stop, turn around, and then hear the sound of them arriving. Why should light be any different? I don't understand why light and time are seen together. I think it should be something more akin to a sort of faster version of sound..except it's light.
Indeed, the example given was flawed in the way you describe: the light != the event, therefore no paradox. However, there are various ways to arrive at the conclusion of no faster than light travel:
1) Light travels at the same speed through a vacuum no matter how the observer is moving. This was a well tested experimental result before Einstein explained it theoretically. The light coming out of a car's headlights at 60mph is not going at the speed of light + 60mph, it's going at the same speed as that from a stationary car. This can be explained by modifying Galileo's relativity slightly, so rather than simply adding the velocities there is a slight change applied called a Lorentz transform. This explains how all observers can measure the same speed, and it's physical interpretation is that space contracts and time extends. This effect becomes more and more important as speed increases, until a certain speed at which time is infinitely extended (ie. 'time stops'). This is the 'speed limit' of the Universe, since 'going faster' makes no sense (how can time be stretched longer than infinity?). It also just-so-happens to be the speed at which light travels, so the problem isn't 'beating light', it's that space and time dictate no such thing as faster than this speed, thus even light is stuck, like us, to never go faster.
2) Discounting air-resistance, it's easier to move things with less mass than those with more mass. Thus light, which has no (rest) mass, is easier to move than anything with mass. Thus light can go faster than any space ship.
3) The amount of energy bound together into matter is given by E=m*c^2, where m is the rest mass. Thus the total energy for an object is totalE=(m*c^2)+(kinetic energy)+(potential energy). If we want to make an object go faster then its kinetic energy must increase. To do this we can either give it more energy (increasing totalE) or turn some of the other energy into kinetic energy. We can usually turn potential energy into kinetic energy easily (eg. falling via gravity, burning fuel in an engine, etc.), so we can use all of that up and have totalE=(m*c^2)+(kinetic energy)+0. The only other energy we can change to kinetic is the rest mass, which we can do via nuclear reactions or, if we want to convert it all, via matter-antimatter annihilation. If we do the latter then all of the energy is kinetic and we're going as fast as we possibly can. However, the output of matter-antimatter annihilation is light, so we've just proved that we can't go faster than light again! There's no use adding more energy to the light from outside, since that won't change its speed, only the frequency. Adding energy without doing any annihilating will either require adding light, or else adding some massive particles which will actually slow us down by increasing the rest mass.
4) From a fundamental perspective, we can build up a theory of the Universe without needing space or time. We start by saying that there are 'events', and then we relate those to each other using partial orders by saying things like 'event A occurs before event B', which seems to imply time. However, what we find is that it's perfectly acceptable to say 'event A occurs before event B, event B occurs before event C and event C occurs before event A' (in the same way that rock > scissors, scissors > paper but paper > rock). We can account for such things by noticing that from each eve
You mean nobody ever thought of this before?!?!?!?!
Personally I would have thought that rates of radioactive decay would be affected by things like gravity and temperature. Perhaps I'm wrong?!
Such things would, ever so slightly, affect measurements of decay rate due to the general and special theories of relativity respectively.
1) Stronger gravity = slower time, so a sample decaying in a strong gravitational field will look, when timed from a place with weaker gravity, to be going slower than normal. This could be done, for example, with a sample on the Earth's surface and the observer in space.
2) Temperature is the average kinetic energy of particles, so higher temperature means that the atoms are bouncing around faster. Normally this only leads to a spreading-out of measurements (eg. http://en.wikipedia.org/wiki/Doppler_broadening ), but special relativity tells us that the faster you go, the slower time gets. Thus a sample which is a few thousand degrees will decay slower than a sample near zero kelvin, but this change would be very slight as thermal velocities are a couple of orders of magnitude below the speed of light.
These effects are incredibly slight, but they can sometimes be important; most famously in the calibration of GPS satellites http://en.wikipedia.org/wiki/Global_Positioning_System#Relativity .
Just exactly what the fuck is wrong with square pixels? They are the easiest to manipulate algorithmically.
There's no such thing as square pixels: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.79.9093
That memo basically makes the point that a pixel is an infinitesimally small point, a sample representative of the colour in that area. The sampling can be of any form, for example it may have a Gaussian shape, and thus when displaying an image made of these pixels (samples) we should spread the colour of those points to the surrounding area in a suitable way (eg. with a Gaussian).
If we're talking about PC monitors then we may presume that the display is made out of little squares, but we must think about the best way to map our sample of image colour (our pixels) onto that surface of squares. Doing a 1:1 mapping might be OK in some cases, but it's a very naive approach, especially if the pixels are further apart than the squares on the display.
There are plenty of business opportunities and markets for Mary Lou to explore !
I can't wait until these are in ATMs (cash machines). Those bastards are so hard to read sometimes that I can have my face right up to them, hands forming a tunnel to the screen and STILL not make out the text!
If you're outside, you should, you know, be outside, doing outsidey kinds of things.
Laptops are only an "indoorey" thing because their screens are pretty crap in the sunlight. This fixes the problem, thus why shouldn't computers be an "outsidey" kind of thing?
I use my XO outside all of the time. It's great to sit on a quiet bench in a park, have some lunch, feed the ducks and hack on some Python :)
I completely agree with your posts. I also did CS as a 'minor', taking Physics 'major', at a red-brick University. The contrast between the two subjects is huge: there were far more questions asked in the Physics classes, and usually about the concepts being put across, whilst in the CS courses there were never any raised hands, except when a semicolon was missing on a lecture slide and half the room would bark up. We spent a whole lecture learning about Sine and Cosine waves in a fourth-year MSc module, I overheard in another MSc module 'What the fuck is an integral?', the 2nd year Networking module spent 3 weeks on binary addition exercises, 'Distributed Computing' covered 'Hello World' in Java where the string is sent by a different JVM plus a brief mention of locks and mutexes (as in 'write "synchronized" before your methods'), programming labs were spent explaining what files and folders are and so on.
It's truly a terrible state of affairs, and I mentioned this to the department at every opportunity.
Today's IT don't need a bunch of uber-gods. It needs competent people building usable IT systems based on good practices of C.S. That's what C.S graduates should be. Some schools make a thinking pros, others produce trained monkeys. Both are needed in a sensible balance but what fails in employment process is distinguishing if a trained monkey or a thinker was needed and witch category does the person being considered belongs to.
Who said anything about IT? IT should recruit Software Engineers; leave the Computer Scientists alone. Scientists are meant to discover what is already there, not to build things. The only things scientists should build are experiments in order to discover what happens, which is exactly the opposite of the predictable, reliable, maintained systems needed for IT.
Also, we are in DESPERATE need of uber-gods. For a rather tongue-in-cheek example look here http://stackoverflow.com/questions/432922/significant-new-inventions-in-computing-since-1980 . Computer Science has solidified into a 'known' thing, much like 19th Century Physics was Newton + Thermodynamics + Maxwell's Equations, with everything else, the entire study of the whole Universe, being considered as 'working out more decimal places'. 'Knowing' things in any Science can be dangerous, especially in one as young as Computer Science. We need 'uber-gods' to point out the obvious, the assumptions we've been making that have cut us off from vast unexplored territories. Computer Science is certainly not about 'building usable IT systems' any more than Quantum Mechanics is about building efficient steam engines, despite the latter kick-starting Physics as we know it.
Another problem IMHO is that there's lots of 'fluff' going on under the label Computer Science, for example pulling quantities out of social network statistics, which belong in other subjects (eg. Sociology). Just because something can be done on top of computers doesn't make it automatically Computer Science, any more than the study of spoken language is research in Fluid Dynamics, Meteorology and Wave Theory. This distracts from fundamental research (proof & model theory, decidability, information theory, formal linguistics, programming language theory, etc.), in the same way that Materials Science can distract from fundamental Physics and is thus a separate-but-related discipline.
We can describe the particles as communicating instantaneously, but there's no way to harness this since it requires that BOTH particles are in unknown states.
Imagine the following situation: You've got two entangled bits which are opposite, called A and B, and you move them a light year apart. What information can you send?
Let's say someone looks at bit A and it is a 1, that person knows that B must be a 0 since they're opposite, so they radio this to you. You're sat patiently next to B for a year before receiving their radio broadcast, so nothing's travelled faster than light.
Instead let's say that they look at A and it's a 1 and you look at B and it's a 0. Once again, what information has travelled faster than light? None, since you've not exchanged information, you've merely looked at the states of your respective bits, which you brought with you at sub-luminal speed.
Now let's say you try and be more clever; rather than using A and B to store your transferred information, you use an *observation* of A, or a lack of it, at an appointed time to indicate it (eg. "I'll measure A at 11:00 if I mean '1', and won't if I mean '0'). How do we, holding on to B, know whether A has been measured yet? All we can do is look at B and see a 1 or 0, which will happen with 50% probability regardless whether our measurement is first or second.
The crucial points are that 1) we cannot CAUSE either to be a 1 or 0, we can only measure what they are, and 2) to get any information out requires knowlege of measurements of BOTH bits, which must be sent via something like radio which is sub-luminal.
It is very hard to improve if you're already close to technical and physical limits and any made improvement won't look as impressive.
"Everything that can be invented has been invented." Apparently misattributed as being said by Charles H. Duell of the US Patent Office in 1899, but the point stands.
IMHO the mobile market's not particularly far behind the PC, for instance my phone's 400MHz and so is my laptop, and they're both a few years old now (Freerunner and XO-1). They both running Linux, Enlightenment 0.17, Pidgin, Midori, etc.
I think the mojor problem with mobiles is the software, based on the fact that that very few people think of them as computers. To a techie, a mobile phone is a stripped-down digital computer that can barely do email. To the average mobile phone buyer it is an incredibly advanced version of the analogue phone which can even do email. Apple announce something simple and obvious, like multitasking for example, and it's apparently a huge leap for the mobile phone. When thought of as a computer, on the other hand, such things underline the lack of development for these things. Who cares if the iPhone App Store has loads of programs? There's already a shit-ton of applications out there on the Web. For example, here's OpenOffice.org http://wiki.openmoko.org/wiki/Image:Freerunner_Debian_runs_openoffice3.jpg
There's some really fascinating research going on with Cellular Automata by Biologists and Chemists. For instance Seeman, Winfree and others have investigated building cellula automata cells directly out of DNA, and encoding the rules of the CA as dangling "sticky ends". This means that as the cells float around in a test tube (or whatever) they have single strands of DNA reaching out into the solution. If two of these strands come together which have complementary bases (they are designed to complement if they represent a valid rule application) then they pair up to form a double strand, which sticks the two cells together. This makes a physical cellular automata, where a spatial dimension is incremented in place of time.
For a non-in-depth video see here http://www.ted.com/talks/lang/eng/paul_rothemund_details_dna_folding.html
For a bit more meat you can see a physical cellular automata made of DNA here http://pubs.acs.org/doi/abs/10.1021/nl0722830
and a discussion of the computational power of DNA crystallisation here http://www.dna.caltech.edu/Papers/self-assem.pdf . There is LOADS of cool research on this here http://www.dna.caltech.edu/DNAresearch_publications.html
I'm fascinated by this stuff, and used it as the topic for a University essay that I may as well shamelessly promote here http://chriswarbo.webs.com/DNAEssay.pdf ;)
To shorten your post: AIs will exist when a computer can write code for itself to run without interaction from a user. Given a problem, and having no prior knowledge of a solution, nor a way to arrive at the solution, an AI will be capable of creating a set of instructions to solve that problem.
That's a rather restrictive definition of intelligence, I think. How do humans solve problems we confront/are given? We certainly have prior knowledge of a solution, since we have a lifetime of experience which will no doubt include some things we think might be relevant, even if that's just how to move our arms and legs. We also have a definite way to arrive at a solution, which is to try some of those things and see what happens, then go from there. This will either make the problem unsolvable (eg. attempting brain surgery with an axe, after which we have to give up) or will bring us closer to a solution (even in the case of compounding a problem, we will know not to repeat whatever we just did, which is an improvement over our prior ignorance).
For some problems we can do this mentally by asking ourselves "What if" questions, or we might build simulations and models to help us tackle the real problem, but ultimately we're doing the same thing. After we've tried a lot of approaches (either mentally or physically) and we end up solving it, we can back-track and write down those bits which worked. These things don't seem too difficult to program, which is why AI has seemed so close for so long.
To deny a computer program these tactics by banning 'prior knowledge' and 'a way to arrive at the solution' would be unfair. For example we would deem it an unfair test of human intelligence if we sat a hunter-gatherer from 20,000 years ago in front of a calculus exam, since he has no prior knowledge of what to do; he wouldn't know how to read or write, or what those concepts even are, let alone concepts like incrementing a function's parameter by an infinitesimal amount. It requires years of education for a human's memory to incorporate such concepts, with lots of people (teachers) being paid to repeat and build up these memories every day.
However, if we gave a computer program some kind of education, for instance giving it a database containing definitions of functions, numbers, integration, differentiation, etc. and then it aced the calculus exam, there are those who would claim that it's not fair because it was 'only using its database' or 'only using logic' or some other hand-wavey statement. In fact, if we paid a multitude of people to input data into these databases every day for 10 years just to get the program to spit out correct answers to the calculus exam then many would call it a waste of time, money and effort.
Thinking about it this way though, it sheds new light on the way the education system is set up ;)
I had a similar experience when I visited CERN. Granted it wasn't a spontaneous trip (was arranged as part of a particle physics course), but when being shown around it was repeated over and over that we can go anywhere we want (but that it's not a good idea to enter radioactive or cryogenically frozen areas, of course), we can take photos of anything, etc. This is because 1) it's a place of research, so nobody should be discouraged from researching CERN itself 2) due to the politics involved, no participating country has authority to stop people from any other participating country from doing anything they want 3) it's publicly funded, so should be available to the public and 4) it lowers worries about clandestine weaponisation of the technology they have (especially since the word Nuclear crops up a lot).
It was a fascinating trip and I would recommend it to anyone :)
Oh, they intend to implement remote control of another computer functionality. Whats the news in this, you can even do this on a iphone!
Indeed, it's a bit of a hack for backwards compatibility. To be honest, if I had to use remote desktop to access such apps then I'd use Open Cobalt as my 'desktop', since that uses VNC for 'legacy' apps, including XDMCP to spawn new instances as needed, and having a multi-user, p2p 3D desktop is more futuristic than everything in the brwser IMHO.
Since light cannot escape the event horizon, it must be black.
Right, because anyone imprisoned anywhere must be black, because only blacks break the law and get locked up.
How dare you claim Astrophysicists to be racist on such misinformed prison analogy speculation! I'll have you know it's actually due to a sprinting analogy.
Any word on what technology this is built on? IMHO there's no reason not to use a platform like OpenCobalt in favour of reinventing the wheel. Especially in a business environment, where bleeding-edge graphics power isn't the point...
In truth, akonadi and nepomuk are just a waste of system resources. Not only are they not needed, they're buggy as hell. Seems to me the kde devs have gotten lost in minutiae and forgotten that the point of a DE really is to provide a transparent, appealing framework from which to run apps. If it gets in the way or demands you read a lot of documentation, it means you're doing it wrong.
Hell, it was less effort for me to script my own DE functionality around awesome wm than to learn kde4 so I could support my users who want it.
'In truth, graphics and sound are just a waste of system resources. Not only are they not needed, they're buggy as hell. Seems to me the kde devs have gotten lost in minutiae and forgotten that the point of a shell really is to provide a transparent, appealing framework from which to run apps. If it gets in the way or demands you read a lot of documentation, it means you're doing it wrong.
Hell, it was less effort for me to script my own shell functionality around bash shell than to learn kde4 so I could support my users who want it.'
Should Free Software really be playing a game of catch-up to proprietary software? The two main proprietary OSs are Mac, which defaulted to a GUI in 1984, and Windows which did the same in 1985. KDE and Gnome, the two main Free Software GUIs, came out around 1997 and 1998, 13 years later.
Now, GUIs were new fangled way of interacting in the 80s. What's the new fangled equivalent at the moment? One candidate is Internet-accessible services/databases/RDF/LinkedData/SemanticWeb/etc. At the moment these are almost entirely Web-centric: everyone's solution to interoperability and ubiquitous access seems to be to dump more stuff on the Web. Let's see how that might pan out:
Success: Everything is now done in the browser. The desktop paradigm dies, taking projects like KDE with it, and everything becomes the browser tab.
Failure: It doesn't work out properly. We're left with a mess of incompatible, buggy sites that make trying to get anything done a nightmare. It's all thrown out as a bad idea because it didn't work on the Web. We move back to the desktop, which has none of the networked-database goodness.
Now, what happens if a desktop like KDE integrates this technology into itself? In the success case that the Web takes over, KDE does not die. It becomes even more useful since it can interact with all of these Web equivalents because it's all standard. No more "doesn't work with Linux/BSD/etc.", because everything's on the Web, and KDE is an extension of that Web outside the confines of HTML and the browser.
In the failure case that this Web migration breaks down then not all hope is lost, since this stuff is still available in every other application that doesn't happen to be Web-based.
In reality, of course, there'll be a middle ground. However, you can bet that in the next few releases of OSX and Windows there will be equivalents to Nepomuk turning up. Of course the Windows one will look like a combination of Exchange and the registry, such that small database updates can break the system, and nobody sans Microsoft can interact with it. The OSX one will probably be more standard, stable and useful, but the database will only allow updates from the iTunes Data Store. Do we really have to wait for such crippled systems to cement themselves in place before we realise that we want one too, or do we grab some EU funding now and try to do it right?
It doesn't stop you from using KDE4, or KDE3, or sitting in a console and doing your image editing via Emacs on an XPM file.
Very uninformative. It sounds like UEFI is a BIOS (basic input-output system), only it's mouse/graphics based rather than text based. What am I missing here?
If by "BIOS" you mean "the system which loads the OS" then indeed UEFI is just a BIOS. There are also loads of other such systems, like the OpenFirmware (OFW) which, from playing around on my OLPC XO-1, can do traditionally high-level things such as scanning for Wifi networks, displaying a live Webcam image, interacting with the mouse, etc. There is also CoreBoot (formerly LinuxBIOS) which was designed for boot speed (on supercomputers), and there are probably loads more. In fact, my Amiga 1200 from 1992 had a boot menu which used the same GUI as the OS (like this http://www.gregdonner.org/workbench/images/wb_30_1.gif ), since part of the OS was stored inside onboard chips.
"BIOS" also has another, more formal meaning though, which is the programming calls it implements. Using these calls within a piece of code will work on any system with a BIOS, but not necessarily on any of the alternatives. However, they can be emulated on top of these other systems without anything noticing (like BootCamp does).
Also I forgot, from the functional programming side there is a pretty cool learning system from Brown built with PLT Scheme and the DrScheme IDE. It's approach is to complement Maths classes in school, so that Maths teaches about functions like f(x) = x^2, then in DrScheme there is the same notion of functions, but instead of just acting on numbers they act on anything, including graphics. Systems are then composed from a load of these functions acting on "the world", and there is an Android port I've played with called Moby. You can find this stuff at http://world.cs.brown.edu/