Free Software and its Makers

Projects on the Move

Martin Loschwitz

Free software covers such a diverse range of applications that it can be hard to find the perfect tool. We pick the best of the bunch. Our topics this month include elegant presentations, Code Browser, the Debian Installer, and Debian's Alioth service.

Although the SCO Group had a few advocates at the start of its litigation marathon, things have gone quiet in the SCO corner recently. And this comes as no surprise - the course that SCO has taken has proved to be an expensive path due to skyrocketing legal costs.

SCO's recent petitions have not been very impressive, and some observers expect the court to comply with IBM's petition and close the proceedings for good. Kudos to the hard-working reporters from Groklaw.net [1] who have published the minutiae of the proceedings for all to read.

Showtime

So what was so good about the "good old days?" Years ago, if you wanted to present something to a group of people, you needed an overhead projector and a way of putting your message onto a chart - a felt pen and a ruler for lack of anything better.

A few years down the road, computer printers with printable slides became useful tools in the battle with the overhead projector, but problems persisted. For one thing, printable slides were expensive, and for another, you could only use a slide once. A better solution that has appeared more recently is a video projector that can project an image directly from a portable computer.

Microsoft Powerpoint is by no means the only presentation tool around. Linux users have a number of alternatives, including options that use the command line or the GUI. It's just a matter of taste.

Presentation Graphics

The OpenOffice presentation tool is probably the closest alternative to Powerpoint. It gives users a set of presentation styles that they can then fill with content of their choice. The wysiwyg editor allows users to modify the text style directly in the GUI. And there is a point-and-click animation dialog to liven up the show. OpenOffice is so easy to use that newcomers and recent converts typically have no problem achieving professional results.

But there is a downside to using OpenOffice. You need OpenOffice on the computer to run your slide show. This can be an issue, since OpenOffice needs a lot of disk space and is quite slow on older hardware. Having to install OpenOffice could easily interrupt your schedule. To makes things worse, older versions do not mix and match well.

Text-Based Tool of Convenience

If you can do without the GUI, there are several alternative presentation tools. One tool is Magicpoint [2]. Magicpoint generates a ready-to-run presentation from a text file. You can use any text editor to create the file. The Magicpoint files have a format that is reminiscent of Latex (Figure 1); this said, even if you have never used Latex previously, you should be able to find your way around.

You need a few basic commands, and you can add details (such as a background image) to each section of your presentation. If you like, Magicpoint will use a different point size for every line. A typical slideshow weighs in at about 10Kbytes plus any image files you add. Magicpoint users especially like the feature for generating an open format presentation in the form of an HTML gallery (Figure 2.)

Although Magicpoint will not be installed on many machines, it needs a lot less space than OpenOffice, and it is quite happy to run on older hardware. Again in contrast to OpenOffice, the different Magicpoint versions are compatible, so a Knoppix CD gives you all you need to run your presentation on almost any machine.

The Spartan Approach

The third presentation tool is Latex itself. Because Latex started life as a universal word processing system, it provides ideal support for presentations, allowing users to design attractive layouts. On the downside, a lot of elbow grease is required to produce even the most simple result. Even the most ardent fans of Latex will need to put in some extra work, because the default Latex distribution does not have templates. Fortunately, there are a few add-ins, such as Prosper [3] and Beamer [4], that can make things easier for you.

Prosper and Beamer are Latex classes with special commands that allow users to modify parameters such as the background color, size, general appearance, and details of each slide. Prosper comes with a collection of themes. After creating a .tex file, you can run the pdflatex program to produce PDF-formatted material. This means you can run your slideshow on almost any PC, independently of the operating system. Slides created using Prosper need to take a detour via Latex, Dvips, and Ps2pdf.

These two candidates are very similar with respect to features and user friendliness. Latex-based presentation programs have a few other benefits in comparison to Magicpoint and OpenOffice: Latex is installed on almost any Linux system, and this means that most Linux PCs should be able to display your Prosper or Beamer presentation.

If you lack the necessary Latex skills, the learning curve can be an obstacle. Newcomers should allow themselves some time to get to know the program.

Happily, all of the four programs we looked at behaved as expected, and although Powerpoint may be a powerful contender in the presentation stakes, free software has a bigger choice of tools to suit your requirements.

Code Browsing

If there is one thing more difficult than writing a program yourself, it has to be trying to understand someone else's code. Perl is a classic example of this and is therefore considered a write-only language by many. But even in more easily intelligible environments, some programmers come up with cryptic code. Developers are often required to work on other people's offerings, and any safe harbor is welcome.

Many editors have features such as syntax highlighting for loops, functions, and other bits of code. But Emacs and Vim are no replacement for any easy-to-read structure. And when work by programmers with completely different styles is merged, the results are often close to chaotic.

Code-Browser is targeted at larger projects. Besides syntax highlighting, the tool also uses folders. That is, it can compact freely selectable code sections to a single line. The editor then displays the folder name, allowing the developer to click and display the source code in the folder. Another thing that Code-Browser does is add links to other files and folders. A link takes you to a new tab with the target resource.

Figure 1: The Magicpoint file syntax is reminiscent of Latex.

Includes GUI

Code-Browser is written in the Zinc programming language. The GUI uses the GTK2 library. The source code is available from the Code-Browser homepage at [5], although the major distributions do not have binaries.

The Code-Browser workspace is geared for intuitive use, opening each file in a new tab. You can additionally split the editor window vertically and horizontally. This allows developers to keep an eye on multiple files or folders at the same time (Figure 3). Code-Browser is not only useful for investigating existing source code. The undo buffer can undo multiple steps if things go wrong. Code-Browser has a wide range of configuration options, although the dialogs are convoluted at times.

Syntax highlighting supports most popular languages, including C, C++, C#, Python, and Ruby. Web masters will appreciate the support for CSS, XML, and HTML. And if you need to add your favorite programming language, the Code-Browser package has sample files that you can modify to reflect your needs without a great deal of effort.

Code-Browser gives programmers a chance to opt out of the editor war between the Emacs and Vim factions. And if you are looking for an alternative for other reasons, the structured code display is a very powerful argument in favor of Code-Browser.

Attack on the Freedesktop.org Server

Now that persons unknown have taken to attacking various open source servers in recent times, including servers hosted by Debian, Gnome, and the Savannah GNU project, it was probably just a question of time as to when the Freedesktop.org [6] server would fall victim to malicious hackers. As a spokesperson for Freedesktop said, an unknown intruder broke into the system on November 15 and defaced the Freedesktop homepage. The server administrators have not disclosed any more details on this, apart from attributing the attack to script kiddies.

Figure 2: Magicpoint generates HTML previews and galleries from a presentation file.

The attack affected more than Freedesktop, as the machine hosts a multitude of other projects, such as Kalyxo and D-Bus. When the administrators noticed the incident, they immediately took the server down and reinstalled. Analysis of the old system showed that there had been no attempt to misuse the computer as a jump-off point for further attacks.

Freedesktop.org is the fourth prominent server in the open source community to have been attacked, and this has given rise to speculations. People have started to ask if the attackers are just hackers with a bad attitude or opponents of free software. There is no evidence either way at present. And on the brighter side, optimists can look forward to an improved security posture.

Debian Installer Saga Continues

As the head of the Debian Installer team, Joey Hess recently announced the release of Release Candidate 2 of the Debian Installer. This is the most important change to Debian GNU/Linux 3.1, also known as Sarge, and it has had a major impact on the release date, which has been postponed several times.

The list of changes is far less spectacular in comparison to previous release candidates and mainly comprises bugfixes. This seems to be a reaction to the disgruntlement that the previous release candidate had provoked from many developers. The Installer team had made such extensive changes to the program core that other members were starting to worry that the Installer would never see completion. Joey Hess is referring to Release Candidate 2 as the finished product, which will be part of the Sarge distribution.

Although it looks like Debian Installer will no longer be an obstacle to Sarge, it's business as usual at the other construction sites. There have been no developments on the Sarge security support front since last month, and the release date is still uncertain. It remains to be seen how long users will be prepared to fly the Debian flag. As the predecessor to Sarge, Woody is starting to get mouldy, Sourceforge recently migrated to Fedora.

Bug squashing parties took place on November 27 and 28 to help the distribution move towards the release. The original plan was to have parties at three different locations at the same time. Alexander Schmehl announced a party in Germany, quickly followed by Anand Kumria and David Moreno Garza's announcements of bug squashing parties in Sydney and Latin America.

Alioth Ever and Anon

Sourceforge.net gives open source projects storage for files and webspace, and this brings Sourceforge kudos in the world of free software, despite issues with the responsiveness of the server.

The Debian project had the idea of providing a similar service to developers, as many programmers of Debian-specific tools have used their homepages to distribute these tools thus far. The server would also offer a centralized Subversion or CVS repository to developers.

Figure 3: Code-Browser compacts code segments to folders.

No sooner said than done. A few Debian members centered around Wichert Akkerman set up a machine in March 2003, and the Alioth [7] service has been running on that computer ever since. The design is reminiscent of Sourceforge, and the system works in a similar way, apart from it being restricted to Debian-specific projects. The launch went spectacularly wrong, with temporary outages after only a few days, and the Alioth story has continued in the same vein. Server outages have been quite common, causing damage to the Subversion and CVS repositories and forcing the team to restore the repositories from backups.

But things look set to change. As Wichert Akkerman announced, work is in progress on a new computer, and the existing Alioth server, known as Haydn, is due to be replaced shortly. The replacement system is already undergoing trials, and Wichert Akkerman has already set up Subversion and CVS folders. The idea is to give the new Alioth server an extended trial run to identify any issues before the official launch date. Developers are invited to join in with the testing.

That's all folks...

...for this month at least, but we do have one request before we go: if you can recommend a program that you would like to see featured in Projects on the Move, why not mail me with your suggestion [8]?

INFO

[1] Groklaw documents the SCO case: http://groklaw.net

[2] Magicpoint: http://member.wide.ad.jp/wg/mgp/

[3] Prosper: http://prosper.sourceforge.net/

[4] Latex-Beamer: http://latex-beamer.sourceforge.net/

[5] Code-Browser website: http://code-browser.sourceforge.net

[6] Freedesktop: http://freedesktop.org/

[7] Alioth: http://alioth.debian.org

[8] Tips and suggestions: projects@linux-magazine.com