I miss my server

Instead of the usual Sunday Selection, I’m going to present a more personal article today. I’ve been busy moving for most of last week and by Thursday night I finally had my college room mostly set up the way I wanted it. How better to celebrate a new room and relax after a few days of heavy lifting than to completely re-install a server OS and restore everything from backups, right? My server is an old G4 Powermac with 768MB of RAM and currently 80GB of hard disk space. I used it as a desktop for about a year before I got my hands on a Mac mini and decided to turn it into a server.

Digital Disaster

I had been running OS X Leopard on it for the last year and though it worked well enough, there were some things that were starting to get to me. I didn’t like having to use a Virtual network Client to get in and change settings and I wanted a simple command line way to install programs. Though tools like Fink would have let me do that, I decided that for a production server, I wanted to run Linux. Luckily for me Arch Linux has a PowerPC port so I decided to bite the bullet, wipe the hard disk clean and install Arch on it. Unfortunately, that didn’t quite go according to plan. Though I managed to start the installer and partition the hard drive, I simply could not install anything. I also tried an over-the-network install, but I couldn’t get things off the software repository servers either. After a good three hours of fighting, I decided to throw in the towel.

I’ve decided to use the Fedora 11 PowerPC distribution, but I’ll probably strip it down to the bare essentials. I have to wait until Monday to get physical access to my server and till then I’m stuck with just my Arch laptop and my Mac mini desktop. I’m just coming to realize just how much I’ve become used to having a personal server. I’ve started using as something of a personal cloud. I use it store and sync data between my machines (using Git) and I use it to test out my web designs. Since I move around computers regularly, I’m feeling rather crippled without having my server on.

The Revelation

The thing is, I value mobility and security very highly. I’ve gotten used to starting a document or some other project on my Mini, working on it till my back hurts from sitting on the terrible school chair and then moving to the lounge to sit on the couches. Just before the move I just commit my work to a Git repository, push it to a remote mirror on the server and then pull it down to my laptop and I can be up and running like nothing happened. If need be, I can use Google Docs, which I do if I’m on a lab machine, but I really like to have a secure, safe, version controlled copy of anything important that I’m working on and I simply can’t bring myself to rely on Google Docs exclusively. My server is both a safe haven and an electronic freight route.

As you can well imagine, having the server down throws that workflow out the window. All of yesterday (and most of today) I’ve been very lethargic and reluctant to do any real writing. I dislike being tied to my laptop or desktop and I’m afraid to start anything lest I feel the need to move and have a hard time actually making the move. That in turn means that I have stuff on just one machine, something which I’ve learned to be paranoid about. The effects of this paranoia manifested in the form of writer’s block. It took me a good few hours to get myself to actually sit down and write this.

I’ll be the first to admit that I’m probably going overboard with all this. In two days the world won’t end (hopefully) and even if I start something new, I probably won’t have anything that really needs to be backed up. I suppose the real truth is that I’ve become used to a rather eccentric, and for me, efficient way of working. I’ve found and learned to use tools that aren’t used by many people, including many tech enthusiasts. It is cloud computing in a way, but in my own personal cloud for the most part. I’ve made a trade-off, and it hasn’t been an easy one to make. I’ve sacrificed the ability to use a rock-solid well managed solution (like Google Docs) with something that is more flexible and suitable, but that I have to manage myself. It’s not a choice I regret, except maybe at times like this. In fact, I don’t think regret is quite the word. A few details would make the situation much better (ie using stock x86 hardware with Arch Linux) and I don’t make the necessary changes for reasons that are not really technical. I’ve become my own cloud, I have a few dark and gloomy patches, but I could become bright and shiny without too much trouble.

Looking ahead

I’ll have my server back up and running, hopefully by lunchtime on Monday, with a fully functional Linux install. But this little incident has shown me that I need to give some serious thought to how I maintain my server in the future. The electrical engineer in me likes to have the actual physical device around (I’m putting in another hard drive once this problem is solved). But when I leave college in two years time, I’m not dragging the fairly heavy Powermac with me. At that point I will almost certainly switch over to using a hosted virtual server of some sort, maybe a Linode, depending on my budget. That will remove the need to have to personally maintain the hardware and deal with any resulting downtime.

The other question that needs answering is what software to run. Till Friday I ran OS X, but I’m pretty certain I’ll keep my servers to Linux from now on. I’ll run Fedora now, but when transition to virtual, I would like to run Arch Linux to have a more uniform computing environment. I intend to keep running an Apache server and using Git via SSH. However, if I keep using public computers the way I do, I’m going to have to find a way to get thing to Git without having to save in Google Docs first and then manually put in the repo. Luckily for me, most of the work I do is text and the Bespin text editor is coming along nicely. It’s a really nice online text editor and the backend already has support for version control systems like Mercurial and Subversion. I plan on running a local copy on my server and when it grows Git support, I’ll try to jump ship from Google Docs. Of course, for non text files I still need to use a proper Git install, but I do those rarely enough that it shouldn’t be a problem.

By the end of tomorrow I should have a fully operational Linux install ready to go. It’ll probably take a few more days of work to get everything I wanted installed and configured right and have all my git repositories set up properly again. After that I’ll begin looking into running Bespin and any other interesting personal cloud software I might find.

Opera Unite won’t really change the web

Today Opera announced the release of their new ‘Unite’ product. The basic concept behind Unite is something that has been around ever since the beginning of the internet: users aren’t just consumers, but producers as well. Unite will turn your browser into a mini server allowing you to connect to other people and share things directly from your computer. It sounds like a good idea, but the implementation is not something that I find very comfortable with.

The idea

Don’t get me wrong, I think the idea is a great one. Being able to share your own material without having to depend on a third party and risk them stealing your stuff (or just locking it up) is a great boon. It would be wonderful if we all just had our own private servers, keyed to our personal identities in some uniquely identifiable way and exert total control over what we put online. However, the truth is that the implementation details of doing something like are very complicated,

For example, if we all started directly publishing our own content, we’d all need massive bandwidth connections and have to pay for them. We’d need to install hardware and software and keep it all up-to-date. We’d need to deal with all the potential security issues related to allowing other people to access our computers. It would also be difficult to maintain any sense of uniformity across the web. Sure, we could agree to some common protocol, but that protocol would have to be set in stone because it’s going to be very hard to get millions of people around the world to all update to a new protocol. The idea is a very good and powerful one, but it’s useless without proper implementation.

The implementation

That being said, I think Opera has done a lot to alleviate some of these problems. In particular, Unite is easy enough for just about anyone to use. They’ve taken a large part of the maintenance headaches out of the equation, at least for the software component. They also seem to have found a way around the issue of keeping everyone on the same page and playing by the same rules: producers use Opera’s custom system, but consumers can use a plain web browser. But while this strategy means that it’s easy for users to start becoming producers, it also means that people will be locked into using Opera’s product and account system. It’s this part of the bargain that I find somewhat uncomfortable with.

Unite requires an Opera account

Unite requires an Opera account

It seems to me that Opera may have solved one problem by replacing it with another one. It’s now easy for anyone to distribute their content from their own computers, as long as they buy into Opera’s system. I don’t use buy in the monetary sense of the term, but in the ‘free as in freedom’ sense. Opera claims that unite will allow “sharing data and services without the need for any third-party Web sites/applications to be involved at all”. Problem is, Opera is the third party. Sure my content is still physically on my own computer, but Opera is the gatekeeper. I feel that’s even less of a deal than uploading my data to Facebook or YouTube. Not only do I now have to pay for all the bandwidth and space I use, I also have to play on Opera’s terms. I don’t see much of a bargain in that. Perhaps I would if I was really more concerned about people ‘stealing my content’, but I honestly think that you shouldn’t put stuff on the Internet if you don’t want people to share it and spread it around.

Unite isn’t for me, is it for you?

Opera Unite is really quite an interesting piece of technology. It’s one of those ideas that no one really thinks of, but once you hear about it either seems ridiculous or very obvious. It’s a great idea to let users directly share their own content, but I’m confused as to who Opera is targeting here. Let’s start with the fact that Opera’s market share is really quite tiny. Using Unite means that people have to go and download yet another browser. Secondly, how many people will really want to pay for the bandwidth prices that they need to in order to really share their own media? Third, even if you do start using it, you’ll need to have your computer on all the time and connected, something that’s not an option for people on the move with laptops or netbooks. Finally, the market of people who will actually use this seems rather small to me. If you’re really interested in becoming an internet content producer, you’re going to want your domain name, be always on and outsource the technical details to people with more reliable services. If you’re the average internet user who just wants to share your photos with your friends, chances are you’re already on Facebook or MySpace and it works good enough. And if you’re savvy enough to be worried about people stealing your content, you know your way around the web and probably have your own server in the basement already.

I feel that Unite is one of those things that unfortunately just missed the proper timing window. Had Opera released this before social networks and YouTube made media sharing easy, they might have had a fighting chance to make something out of it. But with Facebook and the likes deeply entrenched and sharing tools like Google Wave promising a more open model for those who care, Opera seems to be outmatched and outgunned.

Feel free to use the comments to disagree with me.