As a geek, one of my interests is seeing that kids and other minds which are still open and growing have access to computers. From time to time I receive older computers from people as a donation, but also partly as a method of disposal. Generally speaking, these computers are several generations old, and will never be mistaken for computational heavyweights that contain Lucasfilm or THX certified anything. However, there are certain practical tasks which are reasonably simple and straightforward, and simple machines such as these might suffice.
Some common computer tasks which come to my mind: surfing the internet, email, printing, and instant messaging.
One method of keeping the costs down is to standardize on the x86 processor. And to keep the IP and licensing police at bay, use Linux (Fedora? Solaris?) with OpenOffice and other open source related things, rather than Windows and Office.
Some constraints that come to mind are the need for enough memory, a fast drive for persistant storage, and physical robustness. A minimal yet sufficient OS installation could keep memory consumption low (knoppix based DSL: http://www.everything2.org/index.pl?node=Damn%20Small%20Linux
). Also, there are some memory sticks (http://www.memina.com/pocket-rocket.html
) with speeds that approach the speed of a desktop hard drive.
The thought occurred that a bootable USB memory stick could have an OS+Applications installed on it, and used as a portable operating environment that was plugged in to any computer, booted to use that box as a compute engine, and keep all the data that is specific to the person on the memory stick.
This would allow people to use a computer as a generic thing rather than something that is always different and closely associated with one person. A person could step up to any powered-off computer, insert their bootable memory stick, power on, boot up, and have their own complete operating environment that they take with them - code plus data. Plus, since the memory stick has no moving parts, it is inherently more physically and thermally robust than any hard drive. The only thing needed is a compute engine (eg: an available computer) to run it, and any available powered-off computer would serve. Even if that machine already had a bootable operating system on it, the boot sequence could be altered to use a non-default device - such as a USB memory stick.
The only hard requirement would be that the motherboard supports a bootable USB device. The OS would need to be able to fit on the USB device, but I suspect that that can be crafted to work. The applications would need to provide a practical set of tools. And there would need to be some networking support for a Lan or Dial Up Networking using some ISP.
But my question is: if I were to make a standard configuration for a bootable USB drive, would or could the (linux) OS configure itself at boot time for running on a reasonable (read: large and arbitrary) set of computers, supporting different combinations of motherboards, chipsets, video adapters, absence or presence of a nic, absence or presence of a USP wifi adapter.
Any thought on this ...