May 272008
 

While waiting to see if my X300 sells on Craig’s list and before I eBay it, I figured I would go back to my roots and install a bunch of operating systems on the machine. It is very new hardware and I wanted to see what else is out there. For those who don’t know or haven’t ever read my white-paper, I wrote a fairly lengthy paper around 2000 that outlined how to build an open source operating system that was geared 100% towards desktop and laptop users. It covered mainly changes to Linux, but could be easily abstracted out to any operating system. It had things like:

  • Drop LHS (linux file system standard) in favor of a more friendly naming convention like /config, /system (or operating-system), /users, /applications, /libraries, etc.
  • Drop X-Windows in favor of OpenGL foundation with no networking and everything vector based where possible
  • Standard system APIs for everything, including graphics. No more Gnome vs. KDE vs. whatever
  • Better file permissions
  • Better login
  • Remove TTYs
  • Remove termcap and all that jazz
  • Assume latest modern hardware everywhere, even shell/terminals
  • Fix run-levels and services
  • Standard hardware abstraction
  • Better packaging (no more littering files everywhere)

It had a bunch of other stuff, but you get the drift. Some of this stuff has actually happened in the last decade or so. However, a lot of it hasn’t quite gotten there and Linux has suffered from more and more server syndrome that it probably will always be rough around the edges for desktops and laptops.

Anyways, back to the main point… I downloaded and installed a bunch of different operating systems and here’s what I found.

Linux (Ubuntu, Fedora, OpenSuse, etc)

Same old story. ACPI is rough, the CPU is a hog, the battery life is short, 3D desktop doesn’t quite work, missing drivers, bloated, etc, etc. Definitely a thumbs down on my scale, even though I am currently running Ubuntu on all my machines and love Linux to death, it still sucks for desktop and laptop compared to other OS’s.

OpenSolaris

Sorry to say that this is just like Linux with a different kernel and some minor tweaks here and there. It still runs X-Windows, Gnome and all the other Linux upper layers. Plus, it has worse driver support and very little modern desktop and laptop necessary support such as ACPI, CPU scaling, low voltage, etc. Definitely a thumbs down for now. We’ll see what Sun does. If they are smart, which they don’t appear to be yet, they would drop all the upper layers and build something better and new. They would also drop all the file system standard crap and just start fresh. They have the man power and the money to do it, just not the vision or the drive it seems.

Syllable

This is a very promising OS. They have a lot of the key components, but they have also been using Linux and Unix too long to deviate drastically enough to make it truly usable for the average Laptop and Desktop user. However, it still isn’t 1.0 and they might update some of these things. I never actually got it running, but from what I’ve seen on their website, they have the right idea. If I had some advice for all the developers and users of this OS it would be: hang a sign that says, “can my grandmother use this OS?” on your wall next to your computer and if that answer is ever “no”, fix things until it is “yes”. If I had a million bucks or so laying around, I’d definitely put my money on this project.

Hackitosh

Yeah, just wanted to see if I could get it running and the answer is no. Apple definitely has a great OS. Although some things are still lacking, it is probably the best out there right now. However, it runs best on Apple hardware and I’m not about to fight that. I’m planning on a 100% switch to Mac OSX here soon.

There are a few others that I didn’t get to like Haiku, but they seemed quite new as well and probably wouldn’t have worked all that well. Another thing that was lacking from most of the newest OS variants out there was 64bit support.

Apr 012008
 

I opened a new Google Code project to manage the scripts I wrote that allow multiple instances of Tomcat to be run on Ubuntu. These scripts are now fully open source (more so than before I guess) and available to everyone. They are also more up-to-date than they were in my previous blog post about them.

Anyways, here’s the project link:

http://code.google.com/p/debian-tomcat-scripts/

You can check them out from SubVersion or browse them online. Enjoy!

Oct 152007
 

Looks like Gusty (or something) changes some of the installation for Tomcat 5.5 and it requires some work to get back to normal. Here’s my changes thus far:

This fist off removes the bad XML jar files that Tomcat is setup with in its endorsed directory. These assume that you only need a subset of JAXP and don’t provide everything (i.e. XSLT). You could also symlink to the rest of the XML jars in /usr/share/java such as xalan2.jar, but I find that the bundled JAXP in the JDK (sun-java6-*) work much better.

The second part symlinks in MySQL drivers into the main installation. This is required if you are going to be setting up JDBC connection pools inside the Tomcat contexts to a MySQL database.

These are it thus far, but if I find more I’ll update this.

Sep 172007
 

I’m spent about 6 hours total working on getting multiple instance of Tomcat to run on Ubuntu and finally wrote some scripts that I’d like to share with folks. These scripts do the following:

1. Setup the box to host multiple instances (JVMs) running tomcat

This process cleans the old layout and sets up a new layout that allows for multiple instances. This includes a number of “instances” directories in /var/lib/tomcat5.5, /etc/defaults/tomat5.5 (a new directory) and /var/log/tomcat5.5.

2. Create new instances

This allows you to setup a new instance quickly. It creates all the necessary directories and also installs the new instance into the init scripts an run levels.

Things the scripts don’t do:

– Setup multiple mod_jk configurations and apache virtual hosts
– Any SSL or security management

Here’s how to use the scripts:

1. First make sure you have Java and Tomcat installed!

2. Grab ALL of the scripts and place them in some directory (anywhere is fine)

3. Run the multiple-instances.sh script as root from the directory you put it in

4. Run the new-instance.sh script to create a new instance

5. Configure the new server by editing the files in /var/lib/tomcat5.5/instances/<instance-name> (mainly conf/server.xml)

6. Make sure each instance has a unique port for everything including the AJP, all listeners and the container

7. Fire it up!

8. Check the logs in /var/log/tomcat5.5/instances/<instance-name>/catalina.out

Due to security considerations, I’ve included the scripts inline. Any comments are welcome:

multiple-instances.sh

new-instance.sh

tomcat.sh

Jul 012007
 

I’ll keep editing as I go:

Install LaunchBox

Open apps->gnome-launch-box->bindings and set activate to

This allows gnome-launch-box to be activated using the Windows-L shortcut.

Next setup gnome-launch-box to start automatically. Open System->Preferences->Sessions and create a new Startup Program. I use this command line:

Install Compiz/Beryl merge latest

In progress.