FUSE and inotify
I do apologise for my somewhat sparse posting schedule. Apart from the fact that there's been plenty to do over the Christmas & New Year period, I've been finding it pretty difficult to find time to work on the things that interest me. When I'm done with work for the day, I usually don't feel like pummeling my head with more programming braintwisters. However, my hope is to one day work for a decent and interesting Open-Source related company such as Trolltech (makers of Qt). I am very interested in usability in general. Anyway, if I'm going to stand any chance of working for a lean mean coding machine like that, I've got to hone my C++-fu and put some interesting code out there for the masses.
I've been using GoboLinux for a while now, both on my home server and for Linux-related work stuff. It's so much closer to what I think an OS should be. It doesn't have the shine and glimmer of OS X, or Ubuntu for that matter, but it has a sensible paradigm for application management. I use OS X every day for work, and I've always loved that the majority of graphical apps come in relocatable bundles. You can run them right from the Desktop, then move them around without breaking them. That's just common sense. I can see why most Linux distros are the way they are, and how the FHS came about, but let's face it — it's pants from a desktop usability perspective.
GoboLinux gets pretty close to what I want. It misses the big clincher though — application relocation. For some of my thoughts on GoboLinux, have a look at this thread I created on the forum. Once an application's installed, it has to stay firmly rooted in /Programs. For that reason, I decided to have a go at making my own distro. Some bits will require writing from scratch, but I may be able to scrounge a few bits & pieces from GoboLinux. Who knows. Anyway, for starters I had a play with FUSE today, and did a bit of reading on inotify. The plan is to involve FUSE in dealing with those programs that rely on the FHS, and inotify to keep track of Application Bundle locations, to manage dependencies and suchlike. It's all pretty vague at the moment I'm afraid.
I do apologise for the random ranting here — it's nice to get some thoughts down.
Danns.co.uk