I consider an idea so powerful it will make your face explode
A co-worker’s PC recently stopped working. It was a Windows box, and we were thinking of all sorts of solutions to prevent all the effort of re-installing everything. I was thinking about how if it was a Debian or Ubuntu box all you’d have to do is copy your home directory. You’d also need a list of all your packages, but that should be simple enough. However, your settings are per-user, but your packages are per-machine, which I’m beginning to think is a bad thing.
See, I reckon you should have, say, your home directory on something like a USB key or a portable hard drive or something (hell, maybe it’s on the network but all the settings and authentication is on the USB key). That way, you can walk around and plug your key into any old computer, and it should be able to log in and you should be able to use it as if it were your own machine. This is all good and well, except for one thing: software!
If a machine doesn’t have a software package you need, you have to install it (with admin approval) or live without, or move to a machine with the software package installed. This is shit for many reasons, not least of which is that it’s a cumbersome and labour intensive process.
Now imagine that an organisation uses all debian everywhere (or ubuntu, if you like). Now, you keep your usb key and it contains the list of packages you want installed as well as your home directory. When you log into a machine you’ve never logged into before, it’ll go to your package listing, installing all the packages you like (and all their dependencies) from the local apt repository. You log in, and not only are your settings there, but your software is as well. It’s as if you’re using your own machine, only the hardware is different. The added advantage to this is that the system can use the packages as a “cache”, so if installing a new package would fill up the hard drive, it can automatically remove packages that you don’t use to make room.
This effectively delineates software packages from installation and uninstallation. The nice thing is that it works with proprietary software as well, since any keys you need are kept on your usb key, and your software can confirm over the Internet that the key is kocher (or just use the magic serial key algorithm to figure it out). The nicest thing about it is, it’s conceivable that someone could script this in a week or so on an existing apt-get system.
The only downside is that all the users would go insane from the sheer power!
I got home from work with this idea in my head, and realised that all my machines didn’t have all my audio. Considering that I had recently connected to last.fm, I really didn’t want to travel anywhere without my music, considering that last.fm had all my metadata, as well as a fair bit of sample music to listen to. I wanted access to all my CDs and I wanted it now!
The idea, of course, is a simple extension of the software idea. You get “keys” which give you rights to your music (or if it could work out OK, you’d pay a subscription for all the music you wanted). You can then download this music anytime, anywhere, using intelligent protocols like bittorrent or edonkey or even something like daap. You set up your trusted machines on these networks (your main box, your laptop, etc.) and music gets flipped around magically and dynamically. Woohoo!