Matrex revolutioniert die Zusammenarbeit von Datenbanken und Tabellenkalkulationen, Font Manager kümmert sich um Schriftarten, und Window Switch schickt wie von Zauberhand Programmfenster und ganze Desktops durchs Netz. Zu essen gibt’s japanische Reisplätzchen.
Die Geschichte von Matrex [1] beginnt wie die vieler anderer freier Projekte – jemand ist unzufrieden mit einer vorhandenen Software, programmiert etwas Neues, veröffentlicht eine erste Version und findet in der Community andere kreative Köpfe, die mitarbeiten, das Programm portieren und übersetzen oder Anleitungen schreiben. So geschehen auch im Sommer 2006, als Andrea Ferrandi sich über seine Tabellenkalkulation ärgerte.
Genauer gesagt war er unzufrieden mit der Art und Weise, wie er in seinem Job Inhalte aus einer Datenbank in Excel aufbereiten sollte. Die Vorgabe war, Daten in eine Tabelle zu laden, die gewünschte Formel nebenan in die oberste Zelle zu schreiben und anschließend in die darunter liegenden Zellen zu kopieren. Ferrandi überlegte sich, dass es doch viel eleganter und übersichtlicher wäre, Formeln direkt auf ganze Spalten anzuwenden – die Idee zu Matrex war geboren.
Folge dem weißen Kaninchen
Anders als bei einer klassischen Tabellenkalkulation hantiert der Nutzer in Matrex mit ganzen Datenblöcken, etwa Listen oder mehrspaltigen Tabellen voller Zahlen, und nicht mit Zellen in Tabellenblättern. Auf diese Blöcke wendet er Formeln an, die anhand der Eingabematrix eine Ausgabematrix erzeugen. Angenommen es gibt eine Tabelle mit Verkaufszahlen: Die Spalten sind in zwölf Regionen und nach den Jahren 2001 bis 2011 aufgeschlüsselt. Um die Gesamtzahlen der Jahre zu ermitteln, ruft der Benutzer die Spaltensummen-Funktion auf und erhält eine einspaltige Matrix (also einen Vektor) mit den Ergebnissen in seiner Sammlung.
Für solche einfachen Aufgaben reicht eine Tabellenkalkulation freilich vollkommen aus. Sammeln sich aber Daten aus vielen verschiedenen Quellen an, eventuell auch noch in Kombination mit hinter Zellen versteckten Formeln, verliert auch der versierteste Zahlenjongleur irgendwann die Übersicht.
Matrex löst dieses Problem dadurch, dass die Formeln (Funktionen genannt) gleichberechtigt zu den Daten sind. Beiden kann der Anwender Namen geben, sie außerdem in einer hierarchischen Baumstruktur anordnen und so einen Überblick über Daten, Berechnungen und Zwischenergebnisse in seinem Projekt bekommen. Mehrere Matrizen fügt er jederzeit zu so genannten Presentations zusammen, die wieder an die traditionellen Tabellenblätter erinnern (siehe Artikelbild).
Matrex reloaded
Anspruchsvolle Anwender, die bei in Matrex vorhandenen Funktionen etwas vermissen, greifen dank Adapter auf externe Tools wie R, Matlab, Octave oder Scilab zurück. Darüber hinaus ist es möglich, eigene Formeln in den Sprachen Jython, Java, Jruby oder Groovy zu schreiben. Die aktuelle Programmversion bringt ein kleines, aber feines IDE mit, um Skripte zu bearbeiten und testen. Auch sonst versteht sich Matrex prächtig mit der Außenwelt. Das Java-Programm erlaubt – neben dem obligatorischen Im- und Export von CSV und XLS – über eine JDBC-Schnittstelle auf externe Datenbanken zuzugreifen.
Optional arbeitet Matrex im Client-Server-Modus. In einem solchen Szenario liegen die Berechnungen und Projektdaten auf einem Rechner. Mehrere Benutzer können dann gleichzeitig von mehreren anderen Computern aus Verbindung zu diesem Server aufnehmen und auf die entfernten Daten zugreifen und damit arbeiten.
Matrex eignet sich damit vor allem für Unternehmen, aber auch aufgeschlossene Anwender, die ihre hochkomplexen Tabellenblätter fein säuberlich sezieren möchten, sollten dem Programm eine Chance geben. Selbst wenn die Entscheidung später lautet, doch bei Open Office Calc oder Excel & Co. zu bleiben, kann Matrex ein interessanter Zwischenschritt auf dem Weg von der reinen Tabellenkalkulation hin zu Datenbanken und Skriptsprachen sein.
Wer so begeistert ist, dass er bei dem Projekt mitmachen möchte, sollte auf jeden Fall das Blog des Entwicklers Andrea Ferrandi besuchen [2]. Hier berichtet er nicht nur regelmäßig über Features neuer Versionen, sondern teilt auch seine Pläne für die Zukunft mit, kündigt Testversionen an und scheut auch nicht davor zurück, Schwierigkeiten zu erwähnen, auf die er gelegentlich stößt. Das Projekt freut sich über jede Hilfe. Potenzielle Entwickler finden auf der Matrex-Webseite einige ausformulierte Ideen und konkrete Wünsche.
Klasse Typen!
Das Netz stellt einen reichhaltigen Fundus freier Schriftarten bereit, in dem sich Anwender nach Herzenslust bedienen können. Vor der Einrichtung neuer Fonts wäre es allerdings praktisch, vorhandene zu betrachten. Viele Nutzer suchen außerdem nach einem schnellen Weg, nie genutzte Schriften in Office- oder Grafikprogrammen abzuschalten und damit die Auswahldialoge der Programme übersichtlicher zu machen. Das alles und viel mehr bietet der von Jerry Casiano entwickelte Font Manager (siehe Abbildung 2, [3]).

Abbildung 2: Font Manager zeigt vorhandene Schriftarten an, installiert neue und deaktiviert auch solche, die der Anwender nicht länger in den Auswahldialogen von Programmen sehen möchte.
Der Browse-Modus verhilft dem Anwender schnell zu einem Überblick über bereits auf dem System vorhandene Fonts. Wer einzelne Schriftarten nicht braucht und sie auch nicht länger in den Auswahldialogen anderer Programme sehen möchte, deaktiviert sie per Mausklick. Praktisch ist, dass Font Manager einzelne Schriften zu Collections gruppiert und es so erlaubt, diese gesammelt zu betrachten, ein- und auszuschalten oder in Verzeichnisse oder Zip-Archive zu exportieren. Zusätzlich ist es möglich, neue Fonts ordnerweise einzuspielen.
Gut gefällt, dass der Font Manager systemweite Eingriffe vermeidet. Stattdessen geht er den von X11 und der »fontconfig« -Bibliothek vorgesehenen Weg, manipuliert die Datei »~/.fonts.conf« im Homeverzeichnis der Nutzer und setzt entsprechende symbolische Links. So arbeitet der Schriftverwalter nicht nur anstandslos mit gängigen Linux-Distributionen zusammen, sondern integriert sich auch gut in sämtliche Desktopumgebungen und Windowmanager.
Seit Jerry Casiano die Arbeit von Karl Pickett, dem Autor des ursprünglichen Font Manager [4], fortsetzt, hat das Projekt gute Fortschritte gemacht. Aus dem einfachen Python-Skript ist ein vollwertiges GUI hervorgegangen. Es erscheinen in rascher Folge neue Versionen, und das Programm findet langsam Einzug in aktuelle Linux-Distributionen. Auch einem weiteren Projekt hat Casiano einen zweiten Frühling beschert. Er integrierte Gnome Specimen [5] von Wouter Bolsterlee in den Font Manager. Bei dem Gnome-Vorschau- und Vergleichstool für Schriften scheint sich seit zweieinhalb Jahren nicht mehr viel getan zu haben.
Auch wenn der Font Manager weitgehend selbsterklärend ist, fehlen dem Programm noch eine bessere Webpräsenz und eine öffentliche Mailingliste oder eine andere Plattform, über die potenzielle Mitarbeiter mit dem Autor in Kontakt treten können.
Flexibel fensterln
Zahlreiche Protokolle und Anwendungen ermöglichen es Anwendern, übers LAN oder Internet auf einzelne Programme oder den ganzen Desktop eines entfernten Rechners zuzugreifen. Window Switch [6] kittet die Technologien X11 over SSH, VNC (konkret: Tiger VNC), NX, RDP und Xpra mit Hilfe der Python-Netzwerkengine Twisted [7] zusammen und versammelt damit eine ganze Reihe von Funktionen unter einer gemeinsamen Oberfläche. Das bis zum Sommer 2010 unter dem Namen Window Shifter bekannte Programm erlaubt es dank zahlreicher Helferapplikationen, nicht nur den Desktop eines Rechners auf einem anderen zu betrachten, sondern auch einzelne Fenster von Rechner zu Rechner zu schicken.
Auf der Projekt-Homepage stehen fertige Pakete für viele Linux-Distributionen, Mac OS X und Windows bereit. Pakete für Free BSD und Open Solaris sind für künftige Versionen geplant.
Dreh- und Angelpunkt des Programms ist ein dezentes Icon, das sich nach dem Start unter Linux im Systembereich der Kontrollleiste einnistet. Nach dem Aufruf vergeht eine kurze Zeit, bis das Tool einsatzbereit ist, denn es startet nicht nur den eigenen Server, sondern versucht auch auf direktem Wege, sich mit allen Rechnern im LAN zu verbinden, auf denen ebenfalls Window Switch läuft. Das Programm spürt diese Maschinen mit Hilfe von Multicast-DNS auf und kommuniziert über Port 5353.
Mit einem Klick auf das Programmsymbol klappt der Anwender ein Menü auf, über das er auf verbundenen Maschinen vollständige Desktopsitzungen startet. Window Switch blendet ebenfalls das Applikationsmenü entfernter Linux-Maschinen ein (allerdings nicht die von Mac-OS-X- oder Windows-Systemen) und ermöglicht damit den Aufruf einzelner Programme im so genannten Seamless-Modus (siehe Abbildung 3). Auf diese Weise gestartete Sitzungen und Anwendungen kann er dann bei anderen Benutzern (oder bei sich selbst auf einem weiteren Rechner) öffnen.

Abbildung 3: Mit Window Switch greift ein Benutzer vom Mac-OS-X-Desktop aus auf Gedit (unten links) zu und öffnet gleichzeitig eine Ubuntu-Netbook-Oberfläche (unten rechts) auf dem entfernten Linux-Rechner.
Darüber hinaus ist es möglich, Nachrichten an andere Desktops zu schicken und Dateien zwischen verbundenen Computern zu kopieren. An der Unterstützung für Audio und fürs Drucken arbeiten die Entwickler gerade auf Hochtouren. Praktisch ist die Funktion, Desktopsitzungen im reinen Lesemodus mit anderen Anwendern zu teilen. Bei Window Switch heißt dieses Feature Shadow.
Alter Hut?
Der Reiz des Fensterkitts liegt nicht darin, Programme auf entfernten Computern anzuzeigen – das können die zugrunde liegenden Technologien allemal und eigenständig. Vielmehr locken die Macher von Window Switch mit dem Versprechen “It just works”. Dies kann das Tool allerdings nicht immer halten, denn jede der Helferapplikationen hat ihre Schwächen, damit ist auch Window Switch nur so gut wie die im Hintergrund laufenden Programme.
Ein Blick auf das Programm lohnt sich dennoch, denn seine Benutzer können sich einfach aus der Vielfalt der Möglichkeiten jene Variante heraussuchen, die am besten auf dem eigenen Rechnerverbund läuft. Beim Start einer neuen Sitzung hat der Anwender die Wahl zwischen insgesamt fünf Sessionarten: Xpra, NX, VNC, RDP und SSH-X-Forwarding. Die Tabelle unter [8] verrät, welche Protokolle welche Features auf den verschiedenen Betriebssystemen unterstützen, und gibt außerdem Aufschluss über bekannte Probleme.
Die Projekt-Homepage stellt darüber hinaus einen interessanten Einsatzbereich jenseits von Thin Clients & Co. vor: Der mobile Anwender setzt auf seinen Rechnern Software wie Blue Proximity [9] ein, die mittels Bluetooth (etwa auf dem Handy) herausfindet, ob er in der Nähe ist oder nicht. Diese Information macht sich Window Switch zunutze und wandert mit der aktuellen Sitzung zu jenem Computer, vor den sich der Nutzer setzt – ein Hauch von Science Fiction weht durch die Rechnerlandschaften.
Yaki Onigiri
Onigiri heißen die Reisplätzchen aus Japan. Yaki Onigiri ist eine knusprig gebratene Variante des beliebten Snacks. Zutaten: japanischer Klebereis (gibt’s in jedem Asia-Laden, notfalls geht’s auch mit einfachem Rundkornreis), Salz, Sojasoße, Öl zum Braten.
Den Reis klebrig kochen. Dazu das Korn weder waschen noch anbraten, sondern einfach mit der doppelten Menge gesalzenem Wasser aufkochen und bei kleiner Hitze rund 20 Minuten köcheln. Eine Bratpfanne vorheizen und den Boden mit Öl benetzen. Die Hände unter kaltem Wasser abkühlen und dann den noch heißen Reis zu kleinen Keksen formen. Alternativ Plätzchenformen von der letzten Weihnachtsbäckerei verwenden.
Die Plätzchen von allen Seiten anbraten, bis sie leicht Farbe bekommen. Mit einem Backpinsel etwas Sojasoße auftragen und noch einmal kurz anbraten – viel Spaß beim Snacken!
Infos
- Matrex: http://matrex.sourceforge.net
- Matrex-Blog: http://matrexblog.blogspot.com
- Font Manager: http://code.google.com/p/font-manager/
- Altes Font-Manager-Blog: http://fontmanager.blogspot.com
- Gnome Specimen: http://launchpad.net/gnome-specimen
- Window Switch: http://winswitch.org
- Twisted: http://twistedmatrix.com
- Window-Switch-Kompatibilitätsliste:http://winswitch.org/documentation/protocols/choose.html
- Blue Proximity: http://blueproximity.sourceforge.net






