Don't get me wrong - it's great for kids ages 3-10. But given the availability of much better alternatives out there, your 14 year old will probably get turned off to programming if they use Scratch.
You could be right, we really have not played with it much. What better alternatives are there?
EToys ( squeakland.org ) is similar to Scratch but less restrictive. It looks rather simplistic, but it's actually very powerful. For example I'm writing an interactive book on Thermodynamics which includes simulations of a Stirling engine, thermometers (mercury and constant volume gas) and a few more.
Etoys and Scratch are both written with Squeak ( squeak.org ) which is a modern Smalltalk system. Squeak itself is used professionally by many people, eg. the Seaside Web framework ( http://seaside.st/ ) and there are lots of commercial iPhone apps made in Squeak (but I know Squeak itself got kicked out of the app store after the C/C++/ObjC/JS-only nonsense). The transition from Etoys to Squeak is pretty easy, as they're essentially the same except Squeak methods are written in Smalltalk code rather than snapped together from GUI tiles, and are run when called rather than periodically like Etoys scripts.
For the "next generation" of these technologies, there is the Web-based version called Lively Kernel ( http://www.lively-kernel.org/ ) written in Javascript+SVG, and there is the *very* cool OpenCobalt (formerly Croquet) at http://www.opencobalt.org/ which is a peer-to-peer 3D virtual world. Essentially it's like SecondLife but without the need for a server, any world can hyperlink to any other world (using what are essentially portals), it follows standards (XMPP chat, VNC for remote desktops, LDAP for storage, XDMCP for spawning external desktops, etc.) and is essentially geek porn.
Hope those prove interesting enough to play with:)
What kind of IM were you trying to do? The in-built serverless XMPP chat works fine, and if you want to use an existing account on an existing server then yum install pidgin and that works great too. If individual anecdotes are the way forward then the XO beats the hell out of a MacBook Air since it's got 3 times as many USB ports.
The only annoyance I've had with my XO is the lack of tabs in the activities like the browser and terminal, but that's mainly a preference thing and was easily fixed with yum install seamonkey mrxvt
They changed the machines to include windows and partnered with Intel. Once they started discussions with MS, i lost all respect for the project as that was what the whole idea was supposed to be against. The way OLPC was billed in the beginning was a rugged linux computer with all open sourced software to avoid software vendor lock in. AT least thats what i took away from the initial OLPC discussions.
The OLPC project is not about a rugged Linux computer with all open source software: it's about education and empowerment through the use of technology. Essentially it's Alan Kay's Dynabook: a project which predates Linux, Open Source, the Free Software Foundation and indeed Laptops. Open Source technology made OLPC possible (by empowering the devs to strip and rejig down the whole OS themselves), the Free Software ideology was a snug fit to the project's aims and Linux was the most sensible choice for OS since it kept down the amount of work that was needed to get it up and running. Being rugged was obviously a requirement, but in fact the idea of a laptop seems to have held back adoption: as a laptop the XO-1 looks like a low horsepower model with a few fancy bits on the side (sunlit screen, Wifi mesh, fancy battery, etc.). However it's actual usage is meant to resemble that of a book, which it beats in many respects (storage, interactivity, Internet/mesh updates, long-distance collaboration, etc.). That's why the XO-2 designs were meant to resemble a book, since electronic books had fewer preconceptions (in the days when One Laptop Per Child and the $100 laptop were named, before the Kindle et al). This tablet idea is (probably) a more realistic design which eliminates the complications of a hinge and (cynically) trying to jump on the iPad bandwagon.
As far as I understand it, Windows was offered due to requests from countries that were approached. The small size, bright colours, rubber keyboard and "ear" antennas apparently make the XO-1 look like a toy (which is bad for children how?) and 'therefore not a real computer' in the opinion of many government people who were in charge of buying into the program or not. The test of whether something is a 'real' computer seemed to be (in the eyes of those government types) whether it runs Microsoft Office, which requires Windows and thus without Windows support many countries refused to commit. Of course, as others have said, nobody seems to have bought any with Windows anyway.
As far as the "selling out" goes, as far as I'm concerned it's an x86 architecture, potential customers created a demand for Windows, Microsoft got their developers to implement it, so to *not* offer Windows would be a questionable position. The spec was supposedly upped to support Windows (RAM doubled to 256MB) but I've read from those involved that actually Sugar was becoming rather fatter than they initially thought. Since it's the "Children's Laptop 1", not the "What the Government Thinks 1" there has been a port of Sugar to Windows so that the educational value of that interface won't be lost to any kids who are unfortunately given Windows. By living in Sugar, which is *very* self-contained (doesn't even allow access to the filesystem) the ideology and "view sourceness" can be kept for as much of the stuff that can be interacted with as possible, which is making the most of a tough choice rather than "selling out" IMHO.
Partnering with Intel was also not so much a sell out action, as a survival tactic. Intel were absolute c*nts to the project, most likely simply because it uses (AMD) Geode processors and not Intel's. Not only did Intel try to undercut the OLPC charity by selling a (technically inferior) rival product for below cost, but there are reports of Intel representatives shadowing those from OLPC so that each government the latter contacted about joining the scheme would, a couple of weeks later, be contacted by Intel and told to ditch it either in favour of Classmate or even just altogether. This was done via FUD, spreading the "not a
I agree with the Linux remarks. I'm just finishing a 4 year Physics+Comp.Sci. undergraduate. All of the seats in the place use XP, except a few in the CS lab which can dual-boot Fedora, but the only software used outside the CS department is Microsoft Office, Excel and Firefox. In fact the further through my course I got, the more Linux systems I was shown how to use: the Astronomy lab has 2 Debian servers with remote desktop & SSH, the staff have a choice for their office machines and all I seen use Linux except one Mac (and I had to SSH into these regularly), the University's cluser is Linux of course, the Physics department uses live CDs when it needs to teach specialised software and most of my course mates have got some Linux availability in order to run software for their project (data analysis, simulation, etc.).
The use of Windows is usually Excel+Word+Firefox, but even Word gets used by fewer as they progress once they're shown LyX. Any non-tricial number crunching usually gets done by scripts (eg. Python), so that spreadsheets are all fine as CSV (and this is what applications usually dump out anyway) so any program can be used to make graphs from it (I prefer Gnumeric).
They do use Bloodshed C compiler in the second year, but I used by Linux laptop for the whole course since Bloodshed's a mess compared to something like Geany, or even Gedit+terminal. I've done fewer courses in the Computer Science department, but those I've done all use Eclipse which works fine on Linux.
tl;dr: For my degree course Windows was only used for familiarity reasons, and everyone switches away as the course progresses as it becomes too much of a burden. If kids are taught Linux then, IMHO, they will have a head-start since they won't need weaning off Windows throughout University. They will arrive with the basic skills to get stuff done and focus on what their meant to be using the computer for "compile it with 'gcc filename.c -o filename'"; rather than trying to understand the basics which stops them focusing on the real task "use 'cd' to go to the directory. All directories start with/. etc. etc."
The last major time the issue came to a head was in 1995-97, when the Northwest Territory passed the Rights of the Terminall Ill Act 1995, which allowed euthanasia for the terminally ill, under certain conditions and with a lengthy process.
I'm afraid I'd need some context for that. Have you got links to the Rights of the Terminall I and II handy, and preferably the first 1,994 acts of the third?
How do we know that we aren't the anti-matter and that what we think is anti-matter is really matter? Not so common sense, is it?
Erm... Because we invented the arbitrary labels "matter" and "anti-matter", and they have little to do with the Universe and much more to do with our internal thinking apparatus and the ways we interface them with each other (talking, writing, etc.)...
That's similar to the blind automaton doomsday scenario, where a machine intelligent enough to solve problems creatively, but which does not possess empathy or anything outside the instruction to complete its goal, reasons that one path towards the answer is to gain more processing power and thus it converts the entire Earth into a processing unit via nanobots and in the process kills everything on the planet. This is related to the framing problem, where "destroy the Earth and answer the question" is a valid solution to "answer the question", logically speaking, and in order to guard against it all we could do is say "answer this question and don't destroy the Earth", but then "answer the question and boil the ocean" is a valid solution to that, and there's always some other catastrophic thing it could decide to do no matter how long we make our instruction.
"simulations of the human brain accurate down to the individual neuron could easily achieve this" aye, there's the rub
What 'rub'? If two things are indistinguishable then they are the same. Claiming otherwise without an experiment to verify it (which in any case would make the two distinguishable, and thus wouldn't have any affect on the validity of the previous sentence, and in this specific case doesn't make a difference since the simulation is defined as being accurate enough to pass whatever test you can think up) serves only to retard the progress of Science, earn a humanities degree or both.
What intermediate servers? The only parties involved here are you, the website and a 3rd-party resolver that you have chosen to use.
If you don't trust your 3rd-party resolver then you're screwed with or without this extension because this resolver can see your full IP address and can lie to you about DNS (e.g. sending you to an ad site instead of saying "no such domain" or whatever).
Forgive me if I'm wrong, but my understanding of DNS is that it works as follows:
1) Connect to a DNS and ask for the IP address corresponding to a domain name 2) The DNS checks its list for this domain 3) If the domain is found, the IP is sent back to you, job done 4) If the domain isn't found then it contacts other known DNSs to see if they know 5) This happens recursively until it's found (and all of the lists on the way get updated) or it all times out
Now, the "3rd party resolver" here would be that initial DNS which, of course, you would have to trust. However, if it doesn't know the IP for a domain then it sends out requests to other DNSs, which you have no way of knowing unless you're the admin for every DNS in the network (since it's recursive), _to update its own lists_ in order to better serve the users who are connecting to it. If a bogus "not found" request is sent in this current setup, each DNS on the trail from the first one to the malicious one will have its lists updated with the bogus information, which impacts everyone, should be obvious to any admin, etc.
Now, the danger with the proposed DNS change is that requests would be made _on the users' behalf_, rather than to keep the DNS's lists relevant. Attaching the user's IP to each request filtering through the network would allow bogus replies to target specific users (ie. Iranians, Libyans, etc.) whilst serving everyone else normally, which would make it very hard to detect that any bogus data is going through at all, since every dubious domain would have to tested with every relevant IP address, and there's still no guarantee of finding it then, since the malicious DNS might only be sending bogus data to a limited proportion of its requests from certain IP blocks, or could be doing it within certain time windows, etc.
This would allow, say, the Iranian government to poison the DNS network to achieve goals relevent to them (ie. denying access to certain domains to certain blocks of IPs) in a way that is very difficult to detect for those not affected by it.
The principles behind the FSF are well and good, but no one (except perhaps RMS) would consider them applicable to every computing device under the sun. The iPad is a consumer device, designed around the needs and (lack of) abilities of the general public. It's really a toy.
So what you're saying is that iPad users don't need rights over their iPads, because they're not really computers, they're toys? I'm assuming that the same is true of consoles, since they're really just toys too aren't they, and thus not computers? Plus iPods and the like too, since they're music players, and thus not computers. Oh, and mobile phones (including iPhones), since they're phones and thus not computers. Ebook readers too, since they're electronic books, and thus not computers. Set top boxes are, of course, just for watching and recording TV and looking at schedules, so they can't be computers either. Not to mention a SatNav, since it's just a map, it's obviously not a computer. Just like DVD players, which play DVDs, it's not like they're computers. The same goes for modems and routers, they're not computers because they just route packets between networks. Also networked storage is obviously just storage and thus not a computer. Electronic picture frames are just for showing pictures too, they're not computers.
Hang on a second, I use my laptop for networking, reading books, listening to music, looking at pictures, watching and recording TV, looking up TV schedules, calling people, watching DVDs, storing data, playing games and finding directions. In that case why the hell is it running Linux? I shouldn't have rights over it, it's not like my laptop is a computer! I think I should chuck it out ASAP, since it's obviously not suitable for a consumer like me. Then I can go out and buy an ebook reader, a SatNav, an iPod, an iPhone, an iPad, a games console, a NAS box, a TV, set top box and a DVD player right away! And to think, I was about to waste money on some RAM to upgrade that laptop! What a silly thing to do, paying hardware companies good money for something I didn't even need! I hope someone invents a News Reader soon, then I can keep reading Slashdot:)
One of the original purposes of Free Software was to stop the computing industry's seemingly inevitable move away from "computers" and towards "appliances", which were exactly the same as computers, except that instead of buying new software to let it do new things, you'd buy a new appliance. Of course the business incentive for such a scheme is obvious, design one product (a computer) then force everyone to buy twenty of them by loading each one with slightly different software and no way to change them, one to IM with, one to read news, one to play music, one to show pictures, etc. Thus RMS and the FSF are repeating the same message they always have. I remember someone joking to Stallman about demanding the right to the microchip codes of his microwave oven, with Stallman's opinion being that hardware can't be changed, thus having access to the schematics doesn't help you reprogram it and is thus not very useful, but that if it *was* reprogrammable, eg. via flashing, installing something new, whatever, then by all means every owner of such a microwave oven should have complete access to the code that runs their microwave, in order that the possibility remains open for someone to reprogram it for them.
Personally I try to put my money where my mouth is, which is why my music player is from Neuros, my 'phone's an OpenMoko and I don't own anything from Microsoft, Apple, Adobe or any other proprietary software maker (as far as I can). Looking to upgrade to an OLPC XO-1/1.5 soon too, once I can find one on eBay shipping to the UK.
I completely agree with you in that any argument against artificial child porn psycologically (ie. it encourages paedophiles) can be countered by an argument for artificial child porn (ie. it provides an outlet), and since there's no evidence and haven't been any studies on any of this then such arguments are futile and all we have left are the things we know, which is that real child porn requires harm and is therefore illegal, whilst artificial child porn doesn't and therefore has no water-tight reason to be illegal (laws should work on a blacklist basis, not a whitelist).
As for realistic artificial child porn, for example Photoshopping harmless images into something pornographic, I think this is a tricky area, but my personal opinion is that authorities should make it known far and wide that if it's debatable whether the depiction involved harm then it should be treated as being harmful. Basically give the message to those making artificial child porn either professionally or for their own amusement that they should stay well-clear of the grey area. The reason I think this would be the best approach is that having a clear-cut line between illegal and not could be abused by going the opposite way, ie. taking real child porn and obfuscating it to look fake and therefore be legal. If the level of realism is kept low, however, then obfuscating real images and videos to that extent would a) probably not be worth the effort of producing them with real children in the first place and b) those that do "slip through the net" would be so manipulated that they have gone from "technically legal" status to "the evidence has been destroyed" status. In which case, the fact that they are based on real images would have to be advertised if anyone is to know, because it would be impossible to realise this from their content. Advertising such a thing is otherwise known as a "confession", the existence and investigation of which doesn't necessarily need to have anything to do with the image/video itself, which is another way of saying that the image/video is independent of the evidence, and therefore is just as justified to be legal as any image or video, and knowing that such things may be out there is no more informative than knowing that some children are being abused somewhere, and thus wouldn't have any extra effect on my conscience.
I think that this could be covered by the fact that senses are imperfect. A lot of intelligence is about making sensible decisions and conclusions based on incomplete and unreliable data, but just because something is the most rational action to take doesn't mean it will necessarily be correct. Making incorrect decisions and conclusions will lead to dead ends (hopefully;), but the things discovered on the way could lead to entirely novel discoveries. As a down-to-Earth example, imagine you need to complete a report for work but could do with some more details from a colleague who isn't picking up the phone. You're out at a work party and think you may have spotted them from behind, but can't be sure. The rational thing to do is to approach the person and see if it's them, since you stand to gain if it is them and have nothing to lose if it's not. You tap this person on the shoulder, they turn around and it's not them, but your apology turns into a conversation, you get to know each other and a few years later you're married. It's a contrived example I know, but here the imperfection of our sight (we couldn't know the person's face when they were facing away) plus a rational action based upon it ends up being incorrect, but opens up a completely new series of events which we wouldn't have guessed possible based on our ("A to B to C") reason behind taking the decision to approach.
From a more academic perspective, there are many failed Physics theories which have nevertheless created strong branches of Mathematics, some of which have even proved useful in different areas of Physics.
There is a difference between data and information (the Shannon kind). Computing the Universe would, indeed, need to process data about everything in the Universe, but the amount of information that requires is smaller than that (there cannot be more information that data, since the information is stored in the data, but everything that is compressible allows the removal of data without the removal of information, thus the amount of information can only ever be smaller than the amount of data).
An example of a very simple, yet incredibly naive, compression system is run-length encoding, which replaces runs like "00000000000000000000000000000000000000000000000000" with "50 zeros". A more general form of this is LZ70 encoding, which describes new data in terms of previous data, so that "1010" (which run-length encoding could not compress) would be described as "10 followed by two characters the same as those 2 places behind them". To decode this we take the initial "10" then to get the next character we take whatever is two places behind us, which is a "1", then to get the next one we take the character two places behind our new position, which is a "0", so we get "1010". The cool thing about LZ70 is that it is recursive, so that "1010101010101010101010" can be encoded as "10 followed by 20 characters the same as those 2 places behind them". In this case it will generate "1010" in the same way as before, then look two places back and find the "1" which it had previously generated, so that the last 9 occurances of "10" are encoded as references to data which does not exist (until the previous characters are decoded/generated, that is).
Taking your paper example, let's say we have some 300dpi text which we want to represent in a smaller bit of the page. We do some form of lossless compression on the dots making up the text and end up with a smaller representation, let's say we stick it in the corner of the page. The problem you pointed out is that we now have to encode the bit we just put in the corner, then we have to encode this encoding, and so on. However, using an encoding system which can reference data it has compressed away, similar to LZ70, we could represent this infinite recursion by saying "followed by everything after position zero, without decoding". This, of course, is an infinite loop, since the instruction to include "everything after position zero, without decoding" occurs after position zero, but this is exactly what we want. Even though this data cannot be decoded in finite time, that doesn't stop us performing computations, since the entire information content is available.
Now let's apply this to the Universe. Everything is a wave, and we have strong, electroweak and gravitational fields. Waves can be decomposed using Fourier analysis into coefficients of sine waves, so we can store all of the information about the entire Universe as a set of numbers representing these coefficients (of course, a Fourier series can be infinite, but if we're assuming that data for the entire Universe is available in the first place then we can assume it is finite). Our program would consist of Physical laws, which themselves are incredibly redundant (they are all just conservation laws and symmetries, which by definition contain redundancy and are described recursively), formulated in a way that makes sense for compressed Fourier coefficients. Given this massive amount of coefficient data, compressed as much as possible so that it takes less space to store than the Universe, and including the computer via self-reference, we simply iterate the computations over the compressed data. There is nothing to stop this running faster than realtime either since, to use the analogy of the "VMWare simulating a machine faster than the host" the use of compression is much like embedding optimisations in VMWare such that inefficient code running on the virtual machine would be translated into equivalent, efficient code for running on the host, making the virtual machine run faster than the host for inefficient code.
An alternative they never consider is the creation of a 'mothership', i.e. a big enough spaceship that can act as a space station and as as a small planetoid, complete with its own gravity (out of rotation) and nuclear propulsion (project Orion). Assembled in space and never landing itself on planets, it can be a stepping stone for mankind to the solar system, and make the trip Mars-Earth a commodity.
To build such a ship would require lifting a hell of a lot of material into space, a very expensive proposition for rockets and they are the only definite, we've-done-it-before way to get into space (although sending up lumps of raw material sounds like a great use for a space gun, if any ever get built). Whether that comes from Earth or any other planet, the difficulty remains (although at least on Earth we are already here, with heavy machinery, manufacturing, people and fuel). In my opinion, if you're going to send up chunks of metal by rocket then they may as well have electronics built in and do some exploring whilst we're lifting up the rest. An alternative source of materials would be asteroids, many of which are rich in metals, and their miniscule gravity doesn't present the same problem as that of planets. However, doing any serious construction and refinement is beyond our robots' control ability at the moment, and remote control would likely be too laggy to prevent serious mishaps. This means we must either send people to the asteroids, a task for which getting them to Mars is a stepping stone, or bring the asteroids closer to Earth, in which case we'd better have a decent defense system to deflect those that go astray.
In short, everything we're doing/planning at the moment (robotic exploration (although we don't currently retrieve our probes for recycling, this is, as far as the outer planets are concerned, just a matter of choosing their route, since the Sun can do the hard work of bringing them back, but as it stands we can usually get a lot of great data by smashing them into things instead), long-haul Mars missions, asteroid deflectors, etc.) more or less, would need to be done in a mothership-style programme anyway, so where's the problem in doing them?
Real money has the "I promise to pay the bearer" (or similar) thingy, virtual currencies don't. This seems like a pretty huge difference, I don't think the South Koreans have properly thought about it.
Iif I swap you a cow for your sheep and you don't give me the sheep, I can take you to court and you can offer to pay £X where X is the value of a sheep. I have no legal alternatives but to accept, since the court will consider the case closed. This is because pound sterling is legal tender in the UK, and the definition of legal tender (please correct me if I'm wrong) is that any debt paid in it will be accepted by the courts.
The tricky part about legal tender is the "I promise to pay the bearer" thingy. That's a debt, owed to the holder of the note by the Bank of England, and as such if you give it to them they must legally pay you ten pounds. Due to the definition of legal tender, they can simply give you another tenner in exchange, and in fact don't need to keep anything like gold to pay those promises, since legal tender allows them to swap your note for another.
That's the problem with attempts at alternative currencies, like the Liberty Dollars. The point of a Liberty Dollar is that it's backed by precious metal. However, due to the nature of legal tender it isn't actually backed by anything since instead of the precious metals they can legally give you legal tender instead to settle the debt, and as already said legal tender is only backed by itself.
A point to note about this WRT the TFA is that everything which is tradable must therefore have an accepted value in legal tender, so that people can sue each other for nonpayment (although this value doesn't have to be constant of course). This would make real-world wealth for companies simply by changing variables in their servers. Of course, these virtual currencies aren't legal tender, so it's not exactly the same as a bank changing some account balances on a whim, but since they must have a value, companies like Linden Labs can create as much currency as they like then sell it for below the currently accepted value, which would result in profit for the company whilst somewhere down the line of transactions that virtual currency travels there will be some poor sod (or most likely many) either left with useless virtual currency nobody accepts, or the value will become so small that they can't be traded for a valid denomination of currency (like, say 1p). Essentially, it's a pyramid scheme.
Apple wins in the market because they create a smooth, integrated experience that has view technical "gotchas" waiting to pounce on the consumer. The point of projects such as this (IMHO anyway) is to try to achieve something similar with open source - a hardware/software stack that can be tuned for a performance that, while perhaps not the fastest possible, is "smooth".
Realistically, how much horsepower is actually needed for anything not involving heavy duty graphics or video editing? Wouldn't it perhaps be worth trading off a bit of the "latest and greatest" hardware performance for something that was quality components, solid support and would run reliably for a long time? I know I'd be interested.
It'll be interesting to see if they can find a way to illustrate the benefits of such an experience, even if they can create it - and whether the open source audience will be sufficiently impressed to buy it or not.
Still undecided whether I'd buy one for myself (my current desktop's still doing fine, 1.6GHz 32bit Athlon, 256MB RAM, ATI Radeon 9200, if I get some more RAM it should last for a while longer), but I'd certainly recommend it to others. Being "the computer guy" for quite a few people who don't notice their new PC came with a new OS, but did notice that it came with a different browser, I'm sick of doing over-the-phone/IM support for software that I've never used by Googling for manuals and hoping they match. Plus I feel like a sellout every time they come to me for a new computer and I buy another Windows box for them. The OpenPC project, if it delivers the smooth experience it can potentially achieve, would make me recommend it in these situations as far as desktops are concerned, maybe with a little tweaking (auto-install updates, install SSH, etc.). In fact, I answered both OpenPC surveys with this in mind, preferring a lower spec for a lower price since nobody I would get one for would do anything more taxing than playing music, and it sounds like they've delivered (though admittedly the price isn't comparable to multi-billion-$ Walmart or Dell).
I'm going to wait for the release though, since I've been subscribed for years to glaring bugs in "completely supported" hardware, eg. RT73 Wifi doesn't work with any networking GUIs (two have been thrown together specifically now, but lack the integration of NetworkManager and co.) and another Wifi chip I had (forget which) kernel panics on any SMP-enabled kernel (ie. anything above i386 on Ubuntu), and my OpenMoko still has a couple of UI glitches. That's why I'm not convinced it will be a smooth experience based simply on the supported-hardware-only claim, I'm hoping the people building it have experience with each component they choose, so I'm looking forward to the reviews.
Any matter has one mission and one mission only: to find greater order. If matter without DNA or any prior form of order couldn't achieve more order, then life would not exist. Things want to be able to interact with their environment more efficiently, and must evolve to do so.
All things in the Universe try to minimise the amount of energy they have. In some special cases, like crystals for example, this means becoming more ordered: the energy of each atom/molecule depends on its distance from its neighbours, with each "preferring" the lowest energy distance. Getting as many neighbours as possible at this distance is effectively packing spheres with that distance as their radius, which turns out to be the most efficient with ordered arrangements like hexagonal close packing, so that's what's observed. In the general case, however, the amount of order goes down, see http://en.wikipedia.org/wiki/Entropy . In fact, in every situation which becomes more ordered over time, Thermodynamics says that somewhere else there must be a system becoming even more disordered (as an example, if a system is minimising its energy by becoming ordered then it's exothermic: the energy its losing will come out as heat. This heat is itself disordered, and can disrupt the order of whatever it comes into contact with (which is why so many Physics experiments are done as close to zero Kelvin as possible). Also, the total energy such systems manage to lose is restricted by the fact that they are becoming more ordered, there is an "entropic cost" when becoming more ordered, which means that it requires energy to do and therefore the system must keep hold of that much energy to do it.
For a simple example of how becoming more ordered takes energy, try stretching an elastic band. The polymers it's made of would, in a totally disordered system, take "random walks", which is very degenerate (there are LOADS of ways to randomly walk a certain distance starting at a point A and ending at a point B is the distance AB is much shorter than the distance you walk, ideally A and B are in the same place). That's the band's preferred state, and as such it isn't particularly long. By stretching it, the distance AB goes up, so there are fewer random walks of the same length which satisfy these new positions. In the extreme case the distance AB will be the same length as the walk, and there would only be one valid random walk between them (ie. going in a straight line). It takes energy to stretch the band because you're making it more ordered, which it doesn't want to be.
If matter's mission is to find greater order then a stretched elastic band would never snap back;)
I'm also concerned that the bar is already low enough that most of the extensions out there are total crap. By setting the bar on the floor, every idiot will be able to produce terrible jetpacks. Do you really want to wade through 100,000 crappy jetpacks to find the dozen nuggets?
Voting systems, bloggers, word of mouth, the list goes on. That argument doesn't work online if there are lots of likeminded people (and if you think that your needs are different from everyone else's then there's no point looking no matter what system is used, since nobody else would have scratched your unique itch)
I was under the impression that in OS X maximize sized the window to the content. For instance if the thing is small it will not expand the window and fill it up with whitespace. Seems a bit smarter to me than having an overly large window. Of course if the content spans past the dimensions of the monitor then it will go full screen to try and fit as much possible in.
Erm... Exactly what size is the window contents? To me that's a completely circular argument: The content of a window is the stuff in the window. Therefore the size of the content is the size of the window.
How "big", exactly, is a PDF? How "big" is a Web page? How "big" is a text document? Computer displays can scale anything to any size and I would say only those authouring/checking a pixel-based format would be better off with a 1:1 mapping between image colour rectangles and screen colour rectangles. Every other format is either vector/procedurally generated (fonts, icons, etc.) and thus should be drawn to suit your window, rather than your window being resized to whatever arbitrary scale the software decided to render at.
As a simple example I use Ctrl +/Ctrl - in my browser (Firefox) and IDE (Geany) all of the time.
My OpenMoko works perfectly well. Whilst I''ve played with a few distros on it that's only because I like to. The OS it shipped with (OM 2007) was incredibly basic and unsupported on arrival, but nonetheless worked exactly as it should have. OM 2008 is the same, and Qtopia/QtExtended. Android was rough around the edges but when I tried it the image was simply taken straight from the G1 and only had enough modifications for it to boot and run on the Freerunner, it's probably better now but I wanted a more traditional Linux system since Google's Java+tons-of-XML put me off. Debian is a bit hit-and-miss (I tried the QTMoko version, didn't work too well:( ). Got SHR on it at the moment, which is a nice system. Occasionally get some issues from DBus though:(
Whilst I certainly wouldn't say it's a mass-market smartphone in the same way that the N900 or iPhone are, I'd say it's perfectly capable of being a mass-market basic phone with any of the OSs I've tried other than QTMoko (although obviously it's way too overspecced to do well in sales:P ). However, for a geeky smartphone it is absolutely perfect for me, in the same way that Debian is perfect for my desktop, laptop and netbook systems, but I wouldn't lumber someone with Debian who wouldn't know what to do with it; that's what Ubuntu's for.
For the record, I probably would've got an N8*0 rather than the Freerunner at the time, but they're not phones. The N900 is, and thus is win. I know a number of people who've got one, more who want one, and I've recommended it a few times. I don't understand the "fail"...
Everything is growing. We can't see anything growing, because our rulers and tapemesures and everything is growing. That's gravity: Just the growing earth pushing against your growing feet. Gravity at a distance is just objects growing towards each others (the void doesn't grow). Come to think of it. It's probably a bad hypothesis. It couldn't explain a slingshot effect, could it? Nevermind.
That's not really a theory of gravity, but has been observed nontheless. Take out the part about "the void doesn't grow" and you've got a Universe expanding in higher dimensions. Observations seem to imply that volumes grow proportionally, so if a distance AB is growing at rate r then a distance AC = 10*AB will be growing at around 10*r. However, rather than things getting closer together, this can be observed by A as "B is moving away from me at a speed s, whilst C is moving away from me at a speed 10*s".
The causal mechanism proposed to explain this is "dark energy", which has the peculiar property of having a uniform density everywhere, even across intergalactic emptiness. Its effect is analogous to the air pressure inside a balloon causing it to expand. Taking dark energy and an expanding universe to its logical conclusion gives the "big rip", where everything has zoomed away from everything else so much that even the distance between one end of a particle and the other is too long for light to traverse, and it keeps on getting bigger, leaving only point-like entities (if such things exist) in their own little causal bubbles, completely isolated from everything else forever.
My University's CS department teaches nothing but Java, even for embedded, except for Haskell in the one module they do on functional languages. It's pretty scary, especially when many high-level ideas (data structures, algorithms, etc) are taught in Java only. That said, they do teach how computers work from the ground up (logic gates, ALUs, registers, RAM, cache, etc.) quite well.
Fortunately my course is 'Physics with Computer Science', and I've been taught C and C++ directly by the Physics department, whilst I did a recent Physics simulation project in Python (my language of choice, self-taught).
I also taught myself the basics of FORTRAN and Haskell for alternative implementations of the simulation, but stuck with Python as it ended up much smaller and more readable.
Not touched any type of assembler yet, but I'm sure when I do it will be self-taught and recreational (like I'm currently learning Smalltalk and Scheme).
IMHO students who can't transcend the languages they're taught are doing it wrong. Learning is not something which can be offloaded to an institution, it requires a desire to go above and beyond what is formally taught. Blaming lack of skills on one's University doesn't hold water, no matter how poor it may be, since there are many people out there who are great in the same areas without having any privilege such as University.
As for the original topic, I think a language with the minimum of boilerplate should be used, so the instructions can be focused on rather than any language quirks. Assembly is OK in this area, but pretty limited without getting bogged down in complexity. Python is also nice, although still has some boilerplate (nowhere near as much as Java, C++ or C though).
Don't get me wrong - it's great for kids ages 3-10. But given the availability of much better alternatives out there, your 14 year old will probably get turned off to programming if they use Scratch.
You could be right, we really have not played with it much. What better alternatives are there?
EToys ( squeakland.org ) is similar to Scratch but less restrictive. It looks rather simplistic, but it's actually very powerful. For example I'm writing an interactive book on Thermodynamics which includes simulations of a Stirling engine, thermometers (mercury and constant volume gas) and a few more.
Etoys and Scratch are both written with Squeak ( squeak.org ) which is a modern Smalltalk system. Squeak itself is used professionally by many people, eg. the Seaside Web framework ( http://seaside.st/ ) and there are lots of commercial iPhone apps made in Squeak (but I know Squeak itself got kicked out of the app store after the C/C++/ObjC/JS-only nonsense). The transition from Etoys to Squeak is pretty easy, as they're essentially the same except Squeak methods are written in Smalltalk code rather than snapped together from GUI tiles, and are run when called rather than periodically like Etoys scripts.
For the "next generation" of these technologies, there is the Web-based version called Lively Kernel ( http://www.lively-kernel.org/ ) written in Javascript+SVG, and there is the *very* cool OpenCobalt (formerly Croquet) at http://www.opencobalt.org/ which is a peer-to-peer 3D virtual world. Essentially it's like SecondLife but without the need for a server, any world can hyperlink to any other world (using what are essentially portals), it follows standards (XMPP chat, VNC for remote desktops, LDAP for storage, XDMCP for spawning external desktops, etc.) and is essentially geek porn.
Hope those prove interesting enough to play with :)
What kind of IM were you trying to do? The in-built serverless XMPP chat works fine, and if you want to use an existing account on an existing server then yum install pidgin and that works great too. If individual anecdotes are the way forward then the XO beats the hell out of a MacBook Air since it's got 3 times as many USB ports.
The only annoyance I've had with my XO is the lack of tabs in the activities like the browser and terminal, but that's mainly a preference thing and was easily fixed with yum install seamonkey mrxvt
They changed the machines to include windows and partnered with Intel. Once they started discussions with MS, i lost all respect for the project as that was what the whole idea was supposed to be against. The way OLPC was billed in the beginning was a rugged linux computer with all open sourced software to avoid software vendor lock in. AT least thats what i took away from the initial OLPC discussions.
The OLPC project is not about a rugged Linux computer with all open source software: it's about education and empowerment through the use of technology. Essentially it's Alan Kay's Dynabook: a project which predates Linux, Open Source, the Free Software Foundation and indeed Laptops. Open Source technology made OLPC possible (by empowering the devs to strip and rejig down the whole OS themselves), the Free Software ideology was a snug fit to the project's aims and Linux was the most sensible choice for OS since it kept down the amount of work that was needed to get it up and running. Being rugged was obviously a requirement, but in fact the idea of a laptop seems to have held back adoption: as a laptop the XO-1 looks like a low horsepower model with a few fancy bits on the side (sunlit screen, Wifi mesh, fancy battery, etc.). However it's actual usage is meant to resemble that of a book, which it beats in many respects (storage, interactivity, Internet/mesh updates, long-distance collaboration, etc.). That's why the XO-2 designs were meant to resemble a book, since electronic books had fewer preconceptions (in the days when One Laptop Per Child and the $100 laptop were named, before the Kindle et al). This tablet idea is (probably) a more realistic design which eliminates the complications of a hinge and (cynically) trying to jump on the iPad bandwagon.
As far as I understand it, Windows was offered due to requests from countries that were approached. The small size, bright colours, rubber keyboard and "ear" antennas apparently make the XO-1 look like a toy (which is bad for children how?) and 'therefore not a real computer' in the opinion of many government people who were in charge of buying into the program or not. The test of whether something is a 'real' computer seemed to be (in the eyes of those government types) whether it runs Microsoft Office, which requires Windows and thus without Windows support many countries refused to commit. Of course, as others have said, nobody seems to have bought any with Windows anyway.
As far as the "selling out" goes, as far as I'm concerned it's an x86 architecture, potential customers created a demand for Windows, Microsoft got their developers to implement it, so to *not* offer Windows would be a questionable position. The spec was supposedly upped to support Windows (RAM doubled to 256MB) but I've read from those involved that actually Sugar was becoming rather fatter than they initially thought. Since it's the "Children's Laptop 1", not the "What the Government Thinks 1" there has been a port of Sugar to Windows so that the educational value of that interface won't be lost to any kids who are unfortunately given Windows. By living in Sugar, which is *very* self-contained (doesn't even allow access to the filesystem) the ideology and "view sourceness" can be kept for as much of the stuff that can be interacted with as possible, which is making the most of a tough choice rather than "selling out" IMHO.
Partnering with Intel was also not so much a sell out action, as a survival tactic. Intel were absolute c*nts to the project, most likely simply because it uses (AMD) Geode processors and not Intel's. Not only did Intel try to undercut the OLPC charity by selling a (technically inferior) rival product for below cost, but there are reports of Intel representatives shadowing those from OLPC so that each government the latter contacted about joining the scheme would, a couple of weeks later, be contacted by Intel and told to ditch it either in favour of Classmate or even just altogether. This was done via FUD, spreading the "not a
I agree with the Linux remarks. I'm just finishing a 4 year Physics+Comp.Sci. undergraduate. All of the seats in the place use XP, except a few in the CS lab which can dual-boot Fedora, but the only software used outside the CS department is Microsoft Office, Excel and Firefox. In fact the further through my course I got, the more Linux systems I was shown how to use: the Astronomy lab has 2 Debian servers with remote desktop & SSH, the staff have a choice for their office machines and all I seen use Linux except one Mac (and I had to SSH into these regularly), the University's cluser is Linux of course, the Physics department uses live CDs when it needs to teach specialised software and most of my course mates have got some Linux availability in order to run software for their project (data analysis, simulation, etc.).
The use of Windows is usually Excel+Word+Firefox, but even Word gets used by fewer as they progress once they're shown LyX. Any non-tricial number crunching usually gets done by scripts (eg. Python), so that spreadsheets are all fine as CSV (and this is what applications usually dump out anyway) so any program can be used to make graphs from it (I prefer Gnumeric).
They do use Bloodshed C compiler in the second year, but I used by Linux laptop for the whole course since Bloodshed's a mess compared to something like Geany, or even Gedit+terminal. I've done fewer courses in the Computer Science department, but those I've done all use Eclipse which works fine on Linux.
tl;dr: For my degree course Windows was only used for familiarity reasons, and everyone switches away as the course progresses as it becomes too much of a burden. If kids are taught Linux then, IMHO, they will have a head-start since they won't need weaning off Windows throughout University. They will arrive with the basic skills to get stuff done and focus on what their meant to be using the computer for "compile it with 'gcc filename.c -o filename'"; rather than trying to understand the basics which stops them focusing on the real task "use 'cd' to go to the directory. All directories start with /. etc. etc."
The last major time the issue came to a head was in 1995-97, when the Northwest Territory passed the Rights of the Terminall Ill Act 1995, which allowed euthanasia for the terminally ill, under certain conditions and with a lengthy process.
I'm afraid I'd need some context for that. Have you got links to the Rights of the Terminall I and II handy, and preferably the first 1,994 acts of the third?
How do we know that we aren't the anti-matter and that what we think is anti-matter is really matter? Not so common sense, is it?
Erm... Because we invented the arbitrary labels "matter" and "anti-matter", and they have little to do with the Universe and much more to do with our internal thinking apparatus and the ways we interface them with each other (talking, writing, etc.)...
That's similar to the blind automaton doomsday scenario, where a machine intelligent enough to solve problems creatively, but which does not possess empathy or anything outside the instruction to complete its goal, reasons that one path towards the answer is to gain more processing power and thus it converts the entire Earth into a processing unit via nanobots and in the process kills everything on the planet. This is related to the framing problem, where "destroy the Earth and answer the question" is a valid solution to "answer the question", logically speaking, and in order to guard against it all we could do is say "answer this question and don't destroy the Earth", but then "answer the question and boil the ocean" is a valid solution to that, and there's always some other catastrophic thing it could decide to do no matter how long we make our instruction.
"simulations of the human brain accurate down to the individual neuron could easily achieve this"
aye, there's the rub
What 'rub'? If two things are indistinguishable then they are the same. Claiming otherwise without an experiment to verify it (which in any case would make the two distinguishable, and thus wouldn't have any affect on the validity of the previous sentence, and in this specific case doesn't make a difference since the simulation is defined as being accurate enough to pass whatever test you can think up) serves only to retard the progress of Science, earn a humanities degree or both.
Badely spelld senternces r eweshully understanderbul. Meaning can grammar of the sentence the change.
What intermediate servers? The only parties involved here are you, the website and a 3rd-party resolver that you have chosen to use.
If you don't trust your 3rd-party resolver then you're screwed with or without this extension because this resolver can see your full IP address and can lie to you about DNS (e.g. sending you to an ad site instead of saying "no such domain" or whatever).
Forgive me if I'm wrong, but my understanding of DNS is that it works as follows:
1) Connect to a DNS and ask for the IP address corresponding to a domain name
2) The DNS checks its list for this domain
3) If the domain is found, the IP is sent back to you, job done
4) If the domain isn't found then it contacts other known DNSs to see if they know
5) This happens recursively until it's found (and all of the lists on the way get updated) or it all times out
Now, the "3rd party resolver" here would be that initial DNS which, of course, you would have to trust. However, if it doesn't know the IP for a domain then it sends out requests to other DNSs, which you have no way of knowing unless you're the admin for every DNS in the network (since it's recursive), _to update its own lists_ in order to better serve the users who are connecting to it. If a bogus "not found" request is sent in this current setup, each DNS on the trail from the first one to the malicious one will have its lists updated with the bogus information, which impacts everyone, should be obvious to any admin, etc.
Now, the danger with the proposed DNS change is that requests would be made _on the users' behalf_, rather than to keep the DNS's lists relevant. Attaching the user's IP to each request filtering through the network would allow bogus replies to target specific users (ie. Iranians, Libyans, etc.) whilst serving everyone else normally, which would make it very hard to detect that any bogus data is going through at all, since every dubious domain would have to tested with every relevant IP address, and there's still no guarantee of finding it then, since the malicious DNS might only be sending bogus data to a limited proportion of its requests from certain IP blocks, or could be doing it within certain time windows, etc.
This would allow, say, the Iranian government to poison the DNS network to achieve goals relevent to them (ie. denying access to certain domains to certain blocks of IPs) in a way that is very difficult to detect for those not affected by it.
The principles behind the FSF are well and good, but no one (except perhaps RMS) would consider them applicable to every computing device under the sun. The iPad is a consumer device, designed around the needs and (lack of) abilities of the general public. It's really a toy.
So what you're saying is that iPad users don't need rights over their iPads, because they're not really computers, they're toys? I'm assuming that the same is true of consoles, since they're really just toys too aren't they, and thus not computers? Plus iPods and the like too, since they're music players, and thus not computers. Oh, and mobile phones (including iPhones), since they're phones and thus not computers. Ebook readers too, since they're electronic books, and thus not computers. Set top boxes are, of course, just for watching and recording TV and looking at schedules, so they can't be computers either. Not to mention a SatNav, since it's just a map, it's obviously not a computer. Just like DVD players, which play DVDs, it's not like they're computers. The same goes for modems and routers, they're not computers because they just route packets between networks. Also networked storage is obviously just storage and thus not a computer. Electronic picture frames are just for showing pictures too, they're not computers.
Hang on a second, I use my laptop for networking, reading books, listening to music, looking at pictures, watching and recording TV, looking up TV schedules, calling people, watching DVDs, storing data, playing games and finding directions. In that case why the hell is it running Linux? I shouldn't have rights over it, it's not like my laptop is a computer! I think I should chuck it out ASAP, since it's obviously not suitable for a consumer like me. Then I can go out and buy an ebook reader, a SatNav, an iPod, an iPhone, an iPad, a games console, a NAS box, a TV, set top box and a DVD player right away! And to think, I was about to waste money on some RAM to upgrade that laptop! What a silly thing to do, paying hardware companies good money for something I didn't even need! I hope someone invents a News Reader soon, then I can keep reading Slashdot :)
One of the original purposes of Free Software was to stop the computing industry's seemingly inevitable move away from "computers" and towards "appliances", which were exactly the same as computers, except that instead of buying new software to let it do new things, you'd buy a new appliance. Of course the business incentive for such a scheme is obvious, design one product (a computer) then force everyone to buy twenty of them by loading each one with slightly different software and no way to change them, one to IM with, one to read news, one to play music, one to show pictures, etc. Thus RMS and the FSF are repeating the same message they always have. I remember someone joking to Stallman about demanding the right to the microchip codes of his microwave oven, with Stallman's opinion being that hardware can't be changed, thus having access to the schematics doesn't help you reprogram it and is thus not very useful, but that if it *was* reprogrammable, eg. via flashing, installing something new, whatever, then by all means every owner of such a microwave oven should have complete access to the code that runs their microwave, in order that the possibility remains open for someone to reprogram it for them.
Personally I try to put my money where my mouth is, which is why my music player is from Neuros, my 'phone's an OpenMoko and I don't own anything from Microsoft, Apple, Adobe or any other proprietary software maker (as far as I can). Looking to upgrade to an OLPC XO-1/1.5 soon too, once I can find one on eBay shipping to the UK.
I completely agree with you in that any argument against artificial child porn psycologically (ie. it encourages paedophiles) can be countered by an argument for artificial child porn (ie. it provides an outlet), and since there's no evidence and haven't been any studies on any of this then such arguments are futile and all we have left are the things we know, which is that real child porn requires harm and is therefore illegal, whilst artificial child porn doesn't and therefore has no water-tight reason to be illegal (laws should work on a blacklist basis, not a whitelist).
As for realistic artificial child porn, for example Photoshopping harmless images into something pornographic, I think this is a tricky area, but my personal opinion is that authorities should make it known far and wide that if it's debatable whether the depiction involved harm then it should be treated as being harmful. Basically give the message to those making artificial child porn either professionally or for their own amusement that they should stay well-clear of the grey area. The reason I think this would be the best approach is that having a clear-cut line between illegal and not could be abused by going the opposite way, ie. taking real child porn and obfuscating it to look fake and therefore be legal. If the level of realism is kept low, however, then obfuscating real images and videos to that extent would a) probably not be worth the effort of producing them with real children in the first place and b) those that do "slip through the net" would be so manipulated that they have gone from "technically legal" status to "the evidence has been destroyed" status. In which case, the fact that they are based on real images would have to be advertised if anyone is to know, because it would be impossible to realise this from their content. Advertising such a thing is otherwise known as a "confession", the existence and investigation of which doesn't necessarily need to have anything to do with the image/video itself, which is another way of saying that the image/video is independent of the evidence, and therefore is just as justified to be legal as any image or video, and knowing that such things may be out there is no more informative than knowing that some children are being abused somewhere, and thus wouldn't have any extra effect on my conscience.
Digital quantum battery: This is my favorite
Sounds like the marketing department's favourite too ;)
I think that this could be covered by the fact that senses are imperfect. A lot of intelligence is about making sensible decisions and conclusions based on incomplete and unreliable data, but just because something is the most rational action to take doesn't mean it will necessarily be correct. Making incorrect decisions and conclusions will lead to dead ends (hopefully ;), but the things discovered on the way could lead to entirely novel discoveries. As a down-to-Earth example, imagine you need to complete a report for work but could do with some more details from a colleague who isn't picking up the phone. You're out at a work party and think you may have spotted them from behind, but can't be sure. The rational thing to do is to approach the person and see if it's them, since you stand to gain if it is them and have nothing to lose if it's not. You tap this person on the shoulder, they turn around and it's not them, but your apology turns into a conversation, you get to know each other and a few years later you're married. It's a contrived example I know, but here the imperfection of our sight (we couldn't know the person's face when they were facing away) plus a rational action based upon it ends up being incorrect, but opens up a completely new series of events which we wouldn't have guessed possible based on our ("A to B to C") reason behind taking the decision to approach.
From a more academic perspective, there are many failed Physics theories which have nevertheless created strong branches of Mathematics, some of which have even proved useful in different areas of Physics.
There is a difference between data and information (the Shannon kind). Computing the Universe would, indeed, need to process data about everything in the Universe, but the amount of information that requires is smaller than that (there cannot be more information that data, since the information is stored in the data, but everything that is compressible allows the removal of data without the removal of information, thus the amount of information can only ever be smaller than the amount of data).
An example of a very simple, yet incredibly naive, compression system is run-length encoding, which replaces runs like "00000000000000000000000000000000000000000000000000" with "50 zeros". A more general form of this is LZ70 encoding, which describes new data in terms of previous data, so that "1010" (which run-length encoding could not compress) would be described as "10 followed by two characters the same as those 2 places behind them". To decode this we take the initial "10" then to get the next character we take whatever is two places behind us, which is a "1", then to get the next one we take the character two places behind our new position, which is a "0", so we get "1010". The cool thing about LZ70 is that it is recursive, so that "1010101010101010101010" can be encoded as "10 followed by 20 characters the same as those 2 places behind them". In this case it will generate "1010" in the same way as before, then look two places back and find the "1" which it had previously generated, so that the last 9 occurances of "10" are encoded as references to data which does not exist (until the previous characters are decoded/generated, that is).
Taking your paper example, let's say we have some 300dpi text which we want to represent in a smaller bit of the page. We do some form of lossless compression on the dots making up the text and end up with a smaller representation, let's say we stick it in the corner of the page. The problem you pointed out is that we now have to encode the bit we just put in the corner, then we have to encode this encoding, and so on. However, using an encoding system which can reference data it has compressed away, similar to LZ70, we could represent this infinite recursion by saying "followed by everything after position zero, without decoding". This, of course, is an infinite loop, since the instruction to include "everything after position zero, without decoding" occurs after position zero, but this is exactly what we want. Even though this data cannot be decoded in finite time, that doesn't stop us performing computations, since the entire information content is available.
Now let's apply this to the Universe. Everything is a wave, and we have strong, electroweak and gravitational fields. Waves can be decomposed using Fourier analysis into coefficients of sine waves, so we can store all of the information about the entire Universe as a set of numbers representing these coefficients (of course, a Fourier series can be infinite, but if we're assuming that data for the entire Universe is available in the first place then we can assume it is finite). Our program would consist of Physical laws, which themselves are incredibly redundant (they are all just conservation laws and symmetries, which by definition contain redundancy and are described recursively), formulated in a way that makes sense for compressed Fourier coefficients. Given this massive amount of coefficient data, compressed as much as possible so that it takes less space to store than the Universe, and including the computer via self-reference, we simply iterate the computations over the compressed data. There is nothing to stop this running faster than realtime either since, to use the analogy of the "VMWare simulating a machine faster than the host" the use of compression is much like embedding optimisations in VMWare such that inefficient code running on the virtual machine would be translated into equivalent, efficient code for running on the host, making the virtual machine run faster than the host for inefficient code.
An alternative they never consider is the creation of a 'mothership', i.e. a big enough spaceship that can act as a space station and as as a small planetoid, complete with its own gravity (out of rotation) and nuclear propulsion (project Orion). Assembled in space and never landing itself on planets, it can be a stepping stone for mankind to the solar system, and make the trip Mars-Earth a commodity.
To build such a ship would require lifting a hell of a lot of material into space, a very expensive proposition for rockets and they are the only definite, we've-done-it-before way to get into space (although sending up lumps of raw material sounds like a great use for a space gun, if any ever get built). Whether that comes from Earth or any other planet, the difficulty remains (although at least on Earth we are already here, with heavy machinery, manufacturing, people and fuel). In my opinion, if you're going to send up chunks of metal by rocket then they may as well have electronics built in and do some exploring whilst we're lifting up the rest. An alternative source of materials would be asteroids, many of which are rich in metals, and their miniscule gravity doesn't present the same problem as that of planets. However, doing any serious construction and refinement is beyond our robots' control ability at the moment, and remote control would likely be too laggy to prevent serious mishaps. This means we must either send people to the asteroids, a task for which getting them to Mars is a stepping stone, or bring the asteroids closer to Earth, in which case we'd better have a decent defense system to deflect those that go astray.
In short, everything we're doing/planning at the moment (robotic exploration (although we don't currently retrieve our probes for recycling, this is, as far as the outer planets are concerned, just a matter of choosing their route, since the Sun can do the hard work of bringing them back, but as it stands we can usually get a lot of great data by smashing them into things instead), long-haul Mars missions, asteroid deflectors, etc.) more or less, would need to be done in a mothership-style programme anyway, so where's the problem in doing them?
Real money has the "I promise to pay the bearer" (or similar) thingy, virtual currencies don't. This seems like a pretty huge difference, I don't think the South Koreans have properly thought about it.
Iif I swap you a cow for your sheep and you don't give me the sheep, I can take you to court and you can offer to pay £X where X is the value of a sheep. I have no legal alternatives but to accept, since the court will consider the case closed. This is because pound sterling is legal tender in the UK, and the definition of legal tender (please correct me if I'm wrong) is that any debt paid in it will be accepted by the courts.
The tricky part about legal tender is the "I promise to pay the bearer" thingy. That's a debt, owed to the holder of the note by the Bank of England, and as such if you give it to them they must legally pay you ten pounds. Due to the definition of legal tender, they can simply give you another tenner in exchange, and in fact don't need to keep anything like gold to pay those promises, since legal tender allows them to swap your note for another.
That's the problem with attempts at alternative currencies, like the Liberty Dollars. The point of a Liberty Dollar is that it's backed by precious metal. However, due to the nature of legal tender it isn't actually backed by anything since instead of the precious metals they can legally give you legal tender instead to settle the debt, and as already said legal tender is only backed by itself.
A point to note about this WRT the TFA is that everything which is tradable must therefore have an accepted value in legal tender, so that people can sue each other for nonpayment (although this value doesn't have to be constant of course). This would make real-world wealth for companies simply by changing variables in their servers. Of course, these virtual currencies aren't legal tender, so it's not exactly the same as a bank changing some account balances on a whim, but since they must have a value, companies like Linden Labs can create as much currency as they like then sell it for below the currently accepted value, which would result in profit for the company whilst somewhere down the line of transactions that virtual currency travels there will be some poor sod (or most likely many) either left with useless virtual currency nobody accepts, or the value will become so small that they can't be traded for a valid denomination of currency (like, say 1p). Essentially, it's a pyramid scheme.
Nice idea, and I keep wondering why Ubuntu doesn't do this
You'll find it here http://www.system76.com/
Apple wins in the market because they create a smooth, integrated experience that has view technical "gotchas" waiting to pounce on the consumer. The point of projects such as this (IMHO anyway) is to try to achieve something similar with open source - a hardware/software stack that can be tuned for a performance that, while perhaps not the fastest possible, is "smooth".
Realistically, how much horsepower is actually needed for anything not involving heavy duty graphics or video editing? Wouldn't it perhaps be worth trading off a bit of the "latest and greatest" hardware performance for something that was quality components, solid support and would run reliably for a long time? I know I'd be interested.
It'll be interesting to see if they can find a way to illustrate the benefits of such an experience, even if they can create it - and whether the open source audience will be sufficiently impressed to buy it or not.
Still undecided whether I'd buy one for myself (my current desktop's still doing fine, 1.6GHz 32bit Athlon, 256MB RAM, ATI Radeon 9200, if I get some more RAM it should last for a while longer), but I'd certainly recommend it to others. Being "the computer guy" for quite a few people who don't notice their new PC came with a new OS, but did notice that it came with a different browser, I'm sick of doing over-the-phone/IM support for software that I've never used by Googling for manuals and hoping they match. Plus I feel like a sellout every time they come to me for a new computer and I buy another Windows box for them. The OpenPC project, if it delivers the smooth experience it can potentially achieve, would make me recommend it in these situations as far as desktops are concerned, maybe with a little tweaking (auto-install updates, install SSH, etc.). In fact, I answered both OpenPC surveys with this in mind, preferring a lower spec for a lower price since nobody I would get one for would do anything more taxing than playing music, and it sounds like they've delivered (though admittedly the price isn't comparable to multi-billion-$ Walmart or Dell).
I'm going to wait for the release though, since I've been subscribed for years to glaring bugs in "completely supported" hardware, eg. RT73 Wifi doesn't work with any networking GUIs (two have been thrown together specifically now, but lack the integration of NetworkManager and co.) and another Wifi chip I had (forget which) kernel panics on any SMP-enabled kernel (ie. anything above i386 on Ubuntu), and my OpenMoko still has a couple of UI glitches. That's why I'm not convinced it will be a smooth experience based simply on the supported-hardware-only claim, I'm hoping the people building it have experience with each component they choose, so I'm looking forward to the reviews.
Any matter has one mission and one mission only: to find greater order. If matter without DNA or any prior form of order couldn't achieve more order, then life would not exist. Things want to be able to interact with their environment more efficiently, and must evolve to do so.
All things in the Universe try to minimise the amount of energy they have. In some special cases, like crystals for example, this means becoming more ordered: the energy of each atom/molecule depends on its distance from its neighbours, with each "preferring" the lowest energy distance. Getting as many neighbours as possible at this distance is effectively packing spheres with that distance as their radius, which turns out to be the most efficient with ordered arrangements like hexagonal close packing, so that's what's observed. In the general case, however, the amount of order goes down, see http://en.wikipedia.org/wiki/Entropy . In fact, in every situation which becomes more ordered over time, Thermodynamics says that somewhere else there must be a system becoming even more disordered (as an example, if a system is minimising its energy by becoming ordered then it's exothermic: the energy its losing will come out as heat. This heat is itself disordered, and can disrupt the order of whatever it comes into contact with (which is why so many Physics experiments are done as close to zero Kelvin as possible). Also, the total energy such systems manage to lose is restricted by the fact that they are becoming more ordered, there is an "entropic cost" when becoming more ordered, which means that it requires energy to do and therefore the system must keep hold of that much energy to do it.
For a simple example of how becoming more ordered takes energy, try stretching an elastic band. The polymers it's made of would, in a totally disordered system, take "random walks", which is very degenerate (there are LOADS of ways to randomly walk a certain distance starting at a point A and ending at a point B is the distance AB is much shorter than the distance you walk, ideally A and B are in the same place). That's the band's preferred state, and as such it isn't particularly long. By stretching it, the distance AB goes up, so there are fewer random walks of the same length which satisfy these new positions. In the extreme case the distance AB will be the same length as the walk, and there would only be one valid random walk between them (ie. going in a straight line). It takes energy to stretch the band because you're making it more ordered, which it doesn't want to be.
If matter's mission is to find greater order then a stretched elastic band would never snap back ;)
I'm also concerned that the bar is already low enough that most of the extensions out there are total crap. By setting the bar on the floor, every idiot will be able to produce terrible jetpacks. Do you really want to wade through 100,000 crappy jetpacks to find the dozen nuggets?
Voting systems, bloggers, word of mouth, the list goes on. That argument doesn't work online if there are lots of likeminded people (and if you think that your needs are different from everyone else's then there's no point looking no matter what system is used, since nobody else would have scratched your unique itch)
I was under the impression that in OS X maximize sized the window to the content. For instance if the thing is small it will not expand the window and fill it up with whitespace. Seems a bit smarter to me than having an overly large window. Of course if the content spans past the dimensions of the monitor then it will go full screen to try and fit as much possible in.
Erm... Exactly what size is the window contents? To me that's a completely circular argument: The content of a window is the stuff in the window. Therefore the size of the content is the size of the window.
How "big", exactly, is a PDF? How "big" is a Web page? How "big" is a text document? Computer displays can scale anything to any size and I would say only those authouring/checking a pixel-based format would be better off with a 1:1 mapping between image colour rectangles and screen colour rectangles. Every other format is either vector/procedurally generated (fonts, icons, etc.) and thus should be drawn to suit your window, rather than your window being resized to whatever arbitrary scale the software decided to render at.
As a simple example I use Ctrl +/Ctrl - in my browser (Firefox) and IDE (Geany) all of the time.
My OpenMoko works perfectly well. Whilst I''ve played with a few distros on it that's only because I like to. The OS it shipped with (OM 2007) was incredibly basic and unsupported on arrival, but nonetheless worked exactly as it should have. OM 2008 is the same, and Qtopia/QtExtended. Android was rough around the edges but when I tried it the image was simply taken straight from the G1 and only had enough modifications for it to boot and run on the Freerunner, it's probably better now but I wanted a more traditional Linux system since Google's Java+tons-of-XML put me off. Debian is a bit hit-and-miss (I tried the QTMoko version, didn't work too well :( ). Got SHR on it at the moment, which is a nice system. Occasionally get some issues from DBus though :(
Whilst I certainly wouldn't say it's a mass-market smartphone in the same way that the N900 or iPhone are, I'd say it's perfectly capable of being a mass-market basic phone with any of the OSs I've tried other than QTMoko (although obviously it's way too overspecced to do well in sales :P ). However, for a geeky smartphone it is absolutely perfect for me, in the same way that Debian is perfect for my desktop, laptop and netbook systems, but I wouldn't lumber someone with Debian who wouldn't know what to do with it; that's what Ubuntu's for.
For the record, I probably would've got an N8*0 rather than the Freerunner at the time, but they're not phones. The N900 is, and thus is win. I know a number of people who've got one, more who want one, and I've recommended it a few times. I don't understand the "fail"...
My hypothesis about gravity:
Everything is growing. We can't see anything growing, because our rulers and tapemesures and everything is growing. That's gravity: Just the growing earth pushing against your growing feet. Gravity at a distance is just objects growing towards each others (the void doesn't grow). Come to think of it. It's probably a bad hypothesis. It couldn't explain a slingshot effect, could it? Nevermind.
That's not really a theory of gravity, but has been observed nontheless. Take out the part about "the void doesn't grow" and you've got a Universe expanding in higher dimensions. Observations seem to imply that volumes grow proportionally, so if a distance AB is growing at rate r then a distance AC = 10*AB will be growing at around 10*r. However, rather than things getting closer together, this can be observed by A as "B is moving away from me at a speed s, whilst C is moving away from me at a speed 10*s".
The causal mechanism proposed to explain this is "dark energy", which has the peculiar property of having a uniform density everywhere, even across intergalactic emptiness. Its effect is analogous to the air pressure inside a balloon causing it to expand. Taking dark energy and an expanding universe to its logical conclusion gives the "big rip", where everything has zoomed away from everything else so much that even the distance between one end of a particle and the other is too long for light to traverse, and it keeps on getting bigger, leaving only point-like entities (if such things exist) in their own little causal bubbles, completely isolated from everything else forever.
My University's CS department teaches nothing but Java, even for embedded, except for Haskell in the one module they do on functional languages. It's pretty scary, especially when many high-level ideas (data structures, algorithms, etc) are taught in Java only. That said, they do teach how computers work from the ground up (logic gates, ALUs, registers, RAM, cache, etc.) quite well.
Fortunately my course is 'Physics with Computer Science', and I've been taught C and C++ directly by the Physics department, whilst I did a recent Physics simulation project in Python (my language of choice, self-taught).
I also taught myself the basics of FORTRAN and Haskell for alternative implementations of the simulation, but stuck with Python as it ended up much smaller and more readable.
Not touched any type of assembler yet, but I'm sure when I do it will be self-taught and recreational (like I'm currently learning Smalltalk and Scheme).
IMHO students who can't transcend the languages they're taught are doing it wrong. Learning is not something which can be offloaded to an institution, it requires a desire to go above and beyond what is formally taught. Blaming lack of skills on one's University doesn't hold water, no matter how poor it may be, since there are many people out there who are great in the same areas without having any privilege such as University.
As for the original topic, I think a language with the minimum of boilerplate should be used, so the instructions can be focused on rather than any language quirks. Assembly is OK in this area, but pretty limited without getting bogged down in complexity. Python is also nice, although still has some boilerplate (nowhere near as much as Java, C++ or C though).