Older blog entries for CryoBob (starting at number 21)

Finally, Webtrix works. It works, now I can actually get on and do some real work. Ok so I am getting excited about basically seeing tomcat running for the 1st time. But after fighting with the darn thing for 4 days I am finally getting results.

Now comes the softly, softly catchy monkey testing of what works and what doesn't work when it comes to the various parts of the site. Currently JDBC does not work, but I can at least get to a stage where the driver loads. Error pages works since I am testing these in the JDBC code. Now just to get all the configuration variables into some sort of format that can be used from within Tomcat.

On the home front I converted my home box to the ext3 yesterday. It seems pretty stable so far, but I guess time will be the real test. Still need to get a few niggly bugs sorted out so that I can run gnumeric, but Siag Office will do for the time being. Now just need to get my Palm m505 to sync using Gnome pilot and I'm gonna have absolutely no reason to use windows at all.


Well we are getting somewhere with the webtrix stuff. It seems that if you turn on debugging in the embedded version of tomcat that we are using then exceptions are thrown. If you leave it off, then all is well.

Frustrating to say the least. So now that I can run webtrix I am slowly but surely migrating the JTrix.org site on to it. I am currently in the process of getting it to run jsp pages. This is something of an issue with the class loader. It seems you can set the class loader for tomcat, but you cannot set it for Jasper(the JSP compiler) Hence it seems to be struggling to find certain required base classes.

I can't seem to find a way to circumvent this, which is good since it means that Jtrix platform makes it difficult to run untrusted code.

Still I have always said I enjoyed a challenge.

Had a fairly frustrating few days from the middle of last week. We have started the process of moving our current web site on to the Jtrix platform.

We have written a distributed web server based on Tomcat, called webtrix. This should be able to run the site, the only problem is that I can't seem to get this thing up and running. It throws NullPointer exceptions and won't respond to HTTP requests. The problem is that the exception is being thrown in the Tomcat code, and I don't have the source to this so can only speculate where it is being thrown.

Sure I can download it, but I am not sure that it will be the same code that we used in Webtrix. I just wish I had the time to read through and fully comprehend the Webtrix code so I can get the fully picture as to what is going on.

On the home front, I had lazy weekend, managed to get out on Saturday night for a really good session at the local club. So am quite relaxed for a Monday.

29 Jan 2002 (updated 29 Jan 2002 at 17:15 UTC) »

I've been working on the Jtrix DNS code, and once I finally got my head round it, I managed to change it so that it makes use of the MIB(Management Information Block) to store its data. Basically the DNS system can be distrubuted across multiple machines & networks and the MIB is a data area that gets replicated across all the nodes. This means that if the main manager object dies, the data won't die with it.

It was pretty cool seeing this work. You start up one node, it becomes the leader manager, then when you start up another node, all the applications migrate across to it. Kill the main node, and the other one picks up where it left off.

Extremely clever, and again I am amazed at how easily this has been accomplished with the Beatrix API. Once you get your head round its plugin architecture you're sorted. The plugin architecture works really well since you can add new functionality at will and then just add one or 2 lines of glue code and your functionality is integrated and it percolates throughout the system.

Wouldn't it be nice if you could choose all your software, and just have the updates migrate across to your system without you doing anything, and all in a completely secure manner

Finished running through the Beatrix application framework document and read all the core parts again just to make sure that I understand the whole thing. All I can say is, I am quite amazed at what can be accomplished with just a few classes. For example I write 7 classes and I end up with a service that can be accessed via the command line, and is redundant across multiple machines(these could be located anywhere in the world), have access to a distributed file system and network resources. Not too shabby.

Finally managed to run the Webtrix(Distributed Tomcat) demo today. After having to force my JVM to give me enough heap space. This seems to be the only issue that I have with Jtrix - it needs hardware, it's not so much resource usage and a resource addiction, however giving the JVM a 128Mb of heap space seemed to satisfy it and allow me to run the demo.

Another plus to the documentation is that I understood everything and can grasp what is going on in the back-ground.

Right best sign off and catch my train...

Started working through the Beatrix Application Framework document this morning, and it kept me busy for most of the day. But I think that I have a much better understanding of how Jtrix services plug together and actually get stuff done. Although I could not get one of my own services to work, I did manage to get to compile, deploy and kind of start before it failed.

So a pretty productive day all round. Quite surprising since I am absolutely shattered from a hard weekend doing DIY and helping friends move. I do have to admit that the physical work was a refreshing change since it gave my brain a chance to relax and soak up all the new information I crammed into it last week.

Well need to get a comparitively early nights sleep. (10pm)

Sleep well...


Finished working through the writing netlets document. Apparently I have had it easy since niksilver re-wrote it to include a chapter on implementing a Jtrix service. This apparently helps everything fall into place.

I did not find the concepts too hard to understand since it is similar to RMI concepts, and as far as documentation goes; the Jtrix docs are hard to beat. I actually really enjoyed working through the stuff since as I mentioned before it has been a while since I have had to pick up a new API or learn a new framework.

One thing that I find quite interesting about Jtrix is the fact that all communication can be symmetrical i.e. it is a 2 way conversation, when you bind to a service, the service binds to you as well. This allows you to get into situations where you make a call on the service and this can trigger it to make some calls on you. I suppose this could have some interesting affects for remotely configuring services e.g. You need a service in configuration X, however you do not know all the information you need in order to setup the service in configuration X, you could lookup a configuration management service and request it to configure your service.


Had to rebuild my developement box again since something(Windows) f***** my partition table. So linux just stopped booting, since it thought its root partion was a NTFS file system.

But it is all back up and running now. I have a nice clean installation of Slackware 8.0 + Ximian Gnome 1.4. It's all working quite nicely, thank to alien I did not have to compile Ximian from source, but successfully converted redhat 6.2 rpms into tgz packages.

Now all I need to do is get some sleep and configure NetBeans again.(Oh joy, what was that CLASSPATH again?)


Got started with Jtrix application fundamentals today. I think being in the same room as a the devlopers has helped me assimilate quite a bit, and I am not finding it too daunting. Managed to run most of the examples and see them working, although Jtrix does seem to take up a heck of alot of resources even when running on a 1Ghz Athlon with 512MB RAM.

I think I am going to enjoy working with the platform, since I have found it quite easy to pick up (so far) and it seems simpler than EJB's (which took me longer than usual to learn).

I can't wait to see how all the magic works i.e. Jtrix allows you to create a node in which applications(netlets) can run, this node could be a single machine or multiple machines, it does not matter. When a new Hosting service for that node comes online, all the applications are immediately aware of it, and can make use of its resources. Pretty neat hey? niksilver will correct this statement if it is wrong I'm sure, but I think I got the just of it.

Well the Jtrix web site has loads of information for those of you who are interested.


Spent last night rebuilding my workstation since I think my wife powered it off while it was in Linux one to many times. fsck could not seem to recover from the errors. Oh well, I still had all the install information from the last time I did it, so the whole process only took about 2 hours.

Right time for the mad commute home


Just finishing up the last few bugfixes on the site, once these have been tested on the live server, we can push these live and I can get started learning alot more about the Jtrix platform.

So lots to learn and lots to do over the coming weeks. Just hope it does not turn my brain into mush. Been a while since I have had to pick up a new API, and learn to program for a new platform.

9 days since my last post. Must have been busy. Well alot of the changes that I made to the Jtrix site have gone live.

So I have had to spend most of the week tweaking and fixing the myriad of little bugs that we missed during testing. everything seems to be working now, just need to keep and eye on it and wait for it to settle down.

On the plus side it is Friday and I can look forward to doing nothing for 2 days.

Peace out

12 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!