March 17, 2005 Edition

by Adam Israel (

Last month at LinuxWorld Expo 2005, we reported ( that Novell had announced the Hula Project. Now that the dust has settled, it's time to take a closer look at Hula.

At its core, Hula is a mail and calendar server, but the idea behind Hula is much broader. Instead of trying to position itself as the next thing in "groupware", the Novell-backed Hula team has set out to create a solution that people actually want to use -- a solution that, given the choice, a user would want to use Hula over any other available products. That's not to say that Hula won't have the features ( of a groupware product -- out of the box, it is an e-mail (POP3, IMAP, SMTP) server with a rich client web interface, calendar, mailing lists and virus protection. The possibilities (, it seems, are endless.

As new as it is, Hula is still very much a work-in-progress. At this time, the Hula team is working to implement the proposed CalDav specification, which will allow for sharable and publishable calendars, as well as working on client-specific support. Though there is a lot of work to be done before Hula is ready for the production environment, you should definitely watch out for a stable, feature-rich Hula release in the not-so-distant future.

We have struggled ( with the groupware issue for quite some time now. When a project like this comes along, with the contribution ( of the NetMail code and resources that Novell has put forward, it's a clear sign of where to pay attention. This is, ultimately, another step towards the future vision that Novell has been broadcasting (

So far, Novell has lived up to their promises of giving back to the community. Not only have they released some of their previously-closed code but they are also actively developing things like iFolder ( Only time will tell if this strategy will be successful for them but so far they seem to be on the right track.

Developer's Corner

Komodo 3.1

ActiveState released ( version 3.1 of Komodo (, their integrated development environment (IDE) for Perl, Python, PHP, and TCL at LinuxWorld 2005 last month. It is unfortunate that the release was largely overshadowed by news of Novell's Hula project.

As a long-time user of Komodo, I was excited to see, purely by chance, that there was a new version available. I had used the Windows and Linux builds of Komodo in the past, but the Linux build never performed well for me (especially compared to its Windows counterpart). As such, I'd been using VIM for all of my Perl/Python/PHP development. Though it works, and while once you learn how to properly use VIM it can be fairly efficient, a good IDE is a boon for productivity.

One of the most important things I look for is performance of the IDE itself. The previous versions of Komodo I had tried were dogs in that regard. The first things I noticed about Komodo were a number of Linux-specific improvements such as anti-aliased TrueType fonts and the use of GTK 2.2 (which is backward compatible with GTK 2.6 and 2.4). However, these changes pale in comparison to the vast speed increases brought forth by this release. The load time is more than tolerable and there is no noticable lag for AutoCompletion.

AutoComplete and CallTips ( are two very welcome new additions to Komodo. The first time Komodo is run, it prompts you to build its "Code Intelligence" database. This will scan for installed versions of supported languages and create the AutoComplete and CallTips database. Having type-ahead support is always a nice feature to have in an IDE and Komodo pulls it off nicely.

Komodo also comes with a very handy Regular Expression Toolkit. If you're like me and know just enough about regular expressions to get yourself in trouble, a visual tool like this is a good way to experiment and learn.

In a nutshell, Komodo 3.1 is a pretty hefty improvement over previous versions. It's not free, but you can get a 21-day evalution to kick the tires and take it for a spin. This is one of the few applications that I'm seriously considering buying because it's just that useful to me. The productivity increase alone is well worth the price ($29.95 for the Personal edition; $295 for the Professional). Check out the edition matrix ( to find out which one is right for you.

There's much more that Komodo can do. Check out the release notes ( for yourself.

Cool App of the Week

This week, the Cool App of the Week is TSClient (short for terminal services client).

Some people believe that remote access to a GUI desktop is unnecessary. They say we hackers are lazy and just don't want to get out of our chairs, but this isn't laziness, it's trying to be efficient - travelling takes time. Then we're asked "OK, if you're just being efficient, why would one want to remotely access a desktop when we have SSH?" Well, the reasons are legion:

- One wishes to use GUI tools to administer a server in a remote location. This is especially true with Windows Servers.
- One needs to see how/why a GUI application is erroring out or misbehaving
- One needs to administer a system that only provides a GUI tool, and can't get to it in time
- One wishes to assist a remote user with an application, and need to see what they're doing as they do it
- One has coded a really cool app, and has no other way to take a screen shot for the Ars OpenForum (

All of these situations and more are solved by being able to remotely access a machine's graphical desktop and interact with it in real time.


TSClient ( is a remote desktop application supporting major remote desktop protocols :

- RDP, used by Windows Terminal Services, more or less passes screen drawing commands to the client machine
- VNC, used by the various Open Source VNC implementations, passes compressed image changes from the screen buffer
  to the client
- XDMCP, used by Linux and similar OSes, is roughly equivalent to RDP on Windows
- ICA, used by Citrix, is similar to RDP, but is highly compressed, fast and cross platform, though proprietary

These protocols are used by different platforms to give remote users a graphical interface to the remote system, provided that remote system has the appropriate server running. TSClient allows you to connect to such a server over these protocols in a consistant manner.

Not all remote desktop protocols are created equal. For instance, RDP and XDMCP are much faster than VNC, since they pass drawing primitives (such as arcs, lines and rectangles) to the client while VNC sends bitmapped images. XDMCP and ICA, though, may not give you access to an existing desktop like VNC and RDP can, and therefore use up more resources for a new session on the server end. VNC and Citrix also run on a wide range of platforms and desktops, while the other two are rather platform specific. The ICA protocol is fast and lightweight, though Citrix implementations can be prohibitively expensive. Windows Terminal Services and Citrix are most definitely not Free software. Windows Terminal Server is included with Windows 2000 Server and Server 2003, and you are allowed 2 remote administrator connections in addition to the hardware console login without requiring additional client access licenses.

TSClient leaves the choice of protocol to use up to you. If you're connecting to a Windows 2000/2003 server to administer things (or a Windows XP Professional system that has "Remote Desktop" enabled), use RDP since it's faster and lighter than VNC and comes for free with the OS. If you're connecting to a *nix machine with a display manager (xdm, gdm, kdm) running, use XDMCP since it is relatively lightweight. If the server is running Citrix, use that as it's the lightest and fastest protocol. If you need to see a user interact with a desktop remotely, or have an older OS or an platform that has no native remote desktop support, use VNC as it has been ported to most everything.

One thing we would have liked to see in TSClient is support for the NoMachine NX ( protocol. This protocol lies under other protocols such as VNC's RFB protocol or the X11 protocol and helps to smooth out the high latencies seen over wide-area links (i.e. during remote administration). There's a free implementation ( of an NX server and client for *nixes available, too, from which the protocol-specific code might be adaptable.


The first preview of Kubuntu, the KDE version of Ubuntu ( has been released. ( The first preview of Ubuntu Hoary ( is also available now.

The CIA Open Source Notification System ( is a system that tracks the development of popular open source projects.

The Fedora Project ('s CVS Server ( is now open to the public. Fedora Core 4 Test 1 ( is also now available (

A proposal ( is being floated around to modularize the Xorg X Window System. The changes being proposed are quite substantial and could ultimately be a very significant improvement to the Xorg project.

GNOME 2.10 ( and KDE 3.4 ( are out. Grab 'em while they're hot.