An up-to-date look at free software and its makers

Projects on the Move


Soundmural delivers sound to match an image, and the new Hacker Key delivers code to match the coder. We'll also look at AKFQuiz, Linux on the Ultrasparc T1, and the Debian GFDL controversy.

By Carsten Schnober and Martin Loschwitz

Media artists have always enjoyed experimenting with the interface between different forms of perception. The computer is a particularly useful tool in this field, as it is a hive of digital data that can easily be used for tasks not originally envisaged by its creators. The Soundmural [1] program by Kurt Rosenfeld interprets images as if they were spectrogram views of sound files and saves the matching sounds as wave files.

Figure 1: Soundmural converts images to wave files.

Onomatopoiea

A spectrogram provides a graphical representation of a frequency spectrum. In a monochrome representation, the louder frequencies are dark, the quieter ones are light, and gaps are represented as whitespace. Colored representations use a similar approach but apply darker and lighter colors.

Figure 2: Monochrome images and simple structures are best suited to experimenting with Soundmural.

Thus, a spectrogram gives you far more definitive sound mapping than the wave forms displayed by typical audio cutting programs, which simply show you the peak volume at any given time. Also, the spectrogram interfaces seamlessly between music and images due to its varying colors.

The sound that Soundmural creates from a normal image is anything but musical; in fact, the electronic humming and beeping sounds like a broken down robot. But the spectrogram view of the resulting sound file is fascinating and mathematically accurate: it even resembles the original image in parts.

Assuming you have the required developer libraries Libnetpbm and Libsndfile, it is quite simple to build the program with make. Soundmural supports two methods of creating sound files: the logarithmic variant makes more musical sense, as it reduces extreme color variations. The linear alternative more closely reflects the original image in the spectrogram of the resulting wave file. To switch modes, all you need to do is to comment or uncomment the required lines in the soundmural.h file.

Outing

A topic for old-school hackers and geeks: in 1993 Robert Hayden created the Geek Code [2], which lets computer freaks exchange interesting details about their private lives. This is a jumble of characters in the body text that makes no sense to the unitiated, but insiders can decrypt this code to discover a geek's preferred style of clothing, preferred Unix variant, political views, lifestyle, and of course, their favorite TV show.

But preferences have changed over the past decade, even in the hacker community. This is what prompted Chris Allegretta both to add new TV series to the code, and to publish a new version dubbed Hacker Key Guide [3]. Version three of the guide has now appeared, adding new programming languages, favorite movies, and operating systems.

According to the Hacker Key homepage, the new version is more efficient and more difficult to decipher. The Hacker Key looks like a PGP block, and it is designed to make more efficient use of modifiers (+ and - ) than the Geek Code. Modifiers qualify a geek's likes and dislikes. If you want to tell the world all about your private life, just surf to the homepage, read all about Hacker Keys, and sign your email with your own key, or publish your key on your own homepage.

Linux for the UltraSparc T1

About 20 years ago, free software was the dream of a few Utopians; now it has become reality for many of our readers and millions of people all over the world. Plans to promote hardware in a similar way have failed in the past due to the lack of a technical means for creating free copies. However, the Ultrasparc T1, codenamed Niagara, brings a free, and at the same time modern, CPU to the open source community, now that Sun has officially GPL'd the specifications [4].

Of course, a free operating system feels as at home running on a free CPU as a gnu feels running through the African savanna, and it was not long until David Miller, a long-serving maintainer of the Linux port for Sparc CPUs, published the protocol of a Linux boot on a Niagara machine on his Weblog at [5]. The first boot attempt failed to mount the root filesystem, but it didn't take long to establish that this was due to an incorrect root parameter.

The Linux kernel now happily boots on the UltraSparc T1, even if it was not fully functional when this issue went to press. Check out David Miller's blog for progress updates. And if you are interested in joining in with the porting activities, see the to-do list at [6].

Quiz Master Tool

Quiz shows continue to dominate evening TV viewing, and many people really seem to enjoy them. Of course, both the quiz masters, and the questions they ask, may not appeal to everyone in the Linux crowd. (Have you ever seen a US$ 100,000 question about a Bash script?)

Admittedly, this kind of specialist knowledge may never achieve popularity, and the quiz show's chances of success might be slim. But don't let this stop you from designing your own quiz and letting your viewers wrack their brains. To help you, the AKFQuiz [7] tool, which was written in Pascal, gives you a useful framework for Windows and Linux. It parses quiz files and provides a collection of front-ends that put questions to your audience.

GRQuiz launches a GUI-based quiz front-end for local users. If you prefer a console-based approach, you can try the SCRQuiz text interface or Linequiz instead. And if you want to publish your quiz on the Web, AFKQuiz gives you two options: CGIQuiz creates CGI files for your web server. If your web server does not have CGI support, MKQuiz automatically generates a Javascript HTML page from a quiz file.

As of this writing, the AKFQuiz package comes with just four quiz files containing questions on GNU/Linux in German, along with English and German language quizzes on the subjects of Christianity and chocolate. The quiz files are pure ASCII; a file contains the questions, a choice of right and wrong answers, and optional comments that explain the answers.

There are a number of teasers to solve on the project homepage. To enhance the quiz experience for the general public, the author is calling on users to publish their quiz files.

GFDL Revisited

Debian members voted in favor of some "formal changes" to the Social Contract in 2004. The Social Contract lays down basic policies, such as the requirement that Debian be and stay free. After the vote, the community suddenly noticed that the changes weren't as marginal as they had first thought. Based on formal changes to the Social Contract, Debian would have been unable to complete the Sarge release anytime in the near future. But as Sarge was long overdue, the proposed changes were postponed to some time after the Sarge Release. This move brought howls of protest from some developers at the time, as many in the Debian community did not consider the GFDL (GNU Free Documentation License) free in the Debian sense.

Developers and users argue that a distribution with no documentation is unusable, and this is what Debian would be after removing everything licensed under the GFDL. On the other hand, the hardliners insist on applying the Social Contract and want to remove everything that is GFDL'd.

In March there was another vote on this topic. Different approaches to handling the GFDL dilemma faced off, and the developers were asked to decide if GFDL works were acceptable for Debian, if they would prefer to move the documentation from the "main" branch to "non-free," or if they considered GFDL publications fit for inclusion in the main branch. The results of the vote were not available when this issue went to press, but you can check out the site at [8]. No matter what the result, it seems unlikely that the vote will do anything to reconcile the opposing camps.

INFO
[1] Soundmural: http://134.74.16.64/wwwa/web/hardware/soundmural
[2] Geek Code: http://www.geekcode.com/geek.html
[3] Hacker Key Guide: http://www.hackerkey.com
[4] OpenSparc: http://www.opensparc.net
[5] David Miller's blog: http://vger.kernel.org/~davem/cgi-bin/blog.cgi
[6] To-do list for the Linux Sparc64 port: http://vger.kernel.org/~davem/sparc64_todo.html
[7] AKFQuiz: http://akfoerster.de/akfquiz
[8] GFDL vote results: http://www.debian.org/vote/2006/vote_001