Beruflich Dokumente
Kultur Dokumente
Zweieinhalb Jahre nach seiner ersten Ankündigung ist das neue Dateisystem ext4 bereit für den breiten Einsatz.
Hier nun ein erster Blick auf seine Features und die Leistung des neuen Dateisystems. Außer Konkurrenz erfolgt
auch eine erste Geschwindigkeitsmessung von btrfs. (weiterlesen)
Editorial
Seid fruchtbar und mehret Euch . . .
Obschon dieses Bibelzitat (1. Buch Mose, Kapi- freiesMagazin war letzten Monat auch sehr Inhalt
tel 1, Vers 28) auch auf die heutige Zeit im Sinne gefragt, denn es gab gleich zwei Interviews
von „Make Love, Not War!“ zutrifft, wollen wir da- mit Dominik Wagenführ. Zum einen hat er Da- Linux allgemein
mit eher auf die Vermehrung im freiesMagazin- niel Schneider von der Linux-Seite Pinguin- Openmoko – Free your phone S. 4
Team hinweisen – auch wenn diese mehr in or- zubehör [2] Rede und Antwort gestanden. gNewSense – Das freie Ubuntu S. 8
ganisatorischer als biologischer Form war. freiesMagazin ist dort nicht allein zu Wort ge- Das Dateisystem ext4 S. 11
kommen, sondern es wurden auch andere Maga- Ein Tuz für den Kernel S. 18
Unserem Aufruf letzten Monat nach mehr Unter- zine wie Yalm oder Magdriva zu einigen Themen
stützung [1] sind zahlreiche Menschen gefolgt. befragt [3]. Zum anderen wurde Dominik Wagen- Software
Als Resultat konnten wir die zwei neuen Setzer führ von Mario Heide von pofacs.de [4] („Pod- Programmieren in KBasic S. 21
Ekkehard Hollmann und Dominik Honnef sowie cast für alternative Computersysteme“) befragt Installation von KBasic S. 26
die drei neuen Korrektoren Raoul Falk, Stephan und plauderte etwas aus dem Nähkästchen [5]. Datensammlung mit Tellico S. 29
Hochhaus und Karsten Schuldt gewinnen. Wir Kurztest: Etherpad S. 32
wünschen den Neuen viel Erfolg und hoffen, dass Wie in der letzten Ausgabe bei der Auswer-
sie Spaß bei uns haben werden! tung der freiesMagazin-Umfrage angekündigt, Community
haben wir die Artikelwunschliste der Leser ver- Linux-Unterstützung: DVD-Brenner- S. 34
Und so freudig die Nachricht auch ist, müssen öffentlicht [6]. Nach Bereichen sortiert finden Update
auch ein paar Tränen vergossen werden, denn Sie dort alle Themen, zu denen die Leser von Rückblende zur CeBit 2009 S. 37
Eva Drud hat als Gründerin von freiesMagazin freiesMagazin beziehungsweise die Umfrage- Rezension: Coding for Fun S. 38
das Team verlassen. Aufgrund zeitlicher Über- teilnehmer gerne etwas lesen würden. Wenn
schneidungen konnte sie leider nicht mehr wie Sie also als Autor bei freiesMagazin tätig wer- Magazin
bisher mitarbeiten und hat daher ihren Posten den wollen und noch nicht genau wissen, wor- Editorial S. 2
als „Chefin“ des Magazins freigegeben. Ihre Ar- über Sie etwas schreiben sollen, schauen Sie freiesMagazin-Programmierwettbewerb S. 41
beit übernimmt nun Dominik Wagenführ, der in doch einmal in die Wunschliste. Vielleicht fin- Leserbriefe S. 45
der Vergangenheit schon des öfteren die Redak- den Sie ein Thema, was Sie interessiert. Wenn Veranstaltungen S. 47
tionsaufgaben übernommen hatte. Das gesamte ja, schicken Sie uns Ihren Artikelentwurf an Konventionen S. 47
freiesMagazin-Team möchte sich bei Eva bedan- redaktion@freiesmagazin.de. Natürlich freuen Vorschau S. 47
ken – vor allem weil sie grundlegend dafür verant- wir uns auch immer über Artikel, die (noch) nicht Impressum S. 48
wortlich ist, dass es das Magazin überhaupt gibt. auf dieser Liste stehen.
Wir wünschen Dir alles Gute für die Zukunft!
L INKS
[1] http://www.freiesmagazin.de/20090228-
freiesmagazin-sucht-mithilfe
[2] http://www.knetfeder.de/linux/
[3] http://www.freiesmagazin.de/090310-freies
magazin-im-interview
[4] http://www.pofacs.de/
[5] http://www.freiesmagazin.de/090312-freies
magazin-im-interview-2
[6] http://www.freiesmagazin.de/20090328-
artikelwunschliste-veroeffentlicht
[7] http://www.freiesmagazin.de/090401-pro
grammierwettbewerb-gestartet „Listen to Yourself“ © by Randall Munroe (CC-BY-NC-2.5), http://xkcd.com/481
penmoko [1] steht für offene Mobil- Hardware über WLAN und einen Grafikchip mit 3-D-
NeoFreerunner
Ein Jahr nach dem ersten Modell folgte mit dem
NeoFreerunner [6] ein Gerät, welches auch für
weniger erfahrene Linux-User interessant ist. Ne-
ben GPS, Beschleunigungssensoren und Lage-
Der Nachfolger des Neo1973.
sensor verfügt es im Gegensatz zum Neo1973
© Coolcat (GFDL)
Neo1973. © MookiE, Sean (GFDL)
Glossar GTA04
AGPS: GPS berechnet aus den Positionen von Satelliten und den Signallaufzeiten zur Erde die Position des Bis GTA03 erscheint, dauert es zwar noch ein
Empfängers. „Assisted Global Positioning System“ kann die Zeit bis zur ersten Positionsbestimmung verkür- wenig, dennoch wird schon über den Nachfol-
zen, indem es die Satellitenpositionen und Bahndaten über das Mobilfunknetz holt. ger nachgedacht. Das GTA04 [10] soll ähnliche
Edge: „Enhanced Data Rates for GSM Evolution“ verwendet statt der bei GPRS üblichen Frequenzmo- Features bieten wie der Vorgänger, es soll aber
dulation die effizientere Phasenmodulation. Dadurch erhöht sich die theoretische Übertragungsrate von auf einem anderen System-on-a-Chip (SoC) ba-
171,2 kbit/s auf maximal 473 kbit/s. Typischerweise erreicht ein Edge-fähiges Gerät 220 kbit/s. Die Weiter- sieren. Laut Vermutungen soll GTA04 3G und
entwicklung EDGE Evolution verringert die Latenz stark und hat eine theoretische Maximalübertragungsrate USB 2.0 unterstützen, auch die Wiedereinfüh-
von 1 MBit/s. Diese Entwicklung ist teilweise rückwärtskompatibel. rung eines Grafikchips ist möglich.
Als Flaschenhals erwies sich die Grafikeinheit, und können nicht mit normalen Stiften verwendet Andere Hardware
da sie zusammen mit dem microSD-Slot an werden. Die Software von Openmoko ist auf einigen wei-
einem zu schmalen Bus angeschlossen wur- teren Geräten [11] lauffähig, meistens funktio-
de. Somit ist es nicht möglich, Videos in vol- Von offizieller Seite gibt es allerdings nur we- niert sie dort jedoch nur eingeschränkt.
ler VGA-Auflösung mit annehmbarer Framerate nige konkrete Aussagen über das neue Modell.
abzuspielen. Ein anderes Problem sind GSM- Die Openmoko-Community hofft aber auf die ers- Die Dash Express (HXD8) Hardware [12] wur-
Störgeräusche, die bei Handynetzen mit schlech- te „endbenutzerfreundliche“ Version, wobei dafür de von Openmoko für die Firma Dash entwickelt
ter Netzabdeckung auftreten. noch an der Software gefeilt werden muss. und verwendet ähnliche Bauteile wie die Neo-
Smartphones.
GTA03
Noch in diesem Jahr sollte ein neues Gerät mit Software
GPRS-Beschleunigung Edge und einer Kame- Softwaremäßig lief bei Openmoko anfangs alles
ra folgen [7]. Der 3-D-Grafikchip sollte wieder sehr konfus ab. Ende 2006 wurde die erste Ver-
entfernt werden, wobei der 667-MHz-Samsung- sion des Openmoko-Betriebssystems veröffent-
Chip über integrierte Grafikbeschleunigung ver- licht, als Toolkit wurde GTK gewählt. Wegen der
fügt. Dass das GTA03 ein neues Gehäusedesign schwierigen manuellen Bedienung folgte bereits
bekommt, ist bereits fix. Wann es aber wirklich Anfang 2007 eine überarbeitete Version.
kommt, ist unklar, zumal die Entwicklung vorläu-
fig eingestellt wurde [8]. Parallel wurde Qtopia [13], die Distribution der
Firma Trolltech, die inzwischen von Nokia über-
Es wird vermutet, dass das GTA03 über einen nommen wurde, auf die Openmoko-Plattform
kapazitiven Touchscreen [9] verfügen wird, was portiert. Sie beherrscht zwar alle wichtigen
in Foren noch für Diskussionen sorgt. Kapazitive Grundfunktionen und verfügt über eine schnelle
Dash verwendet Openmoko-Hardware.
Touchscreens sind zwar äußerst robust, verfü- Oberfläche, da die GUI komplett im Framebuffer
© Ryan Grove (CC-BY-NC-SA)
gen aber über eine eingeschränkte Genauigkeit
läuft und kein „X Window System“ [14] ã Remoko [21] – Remoko meldet sich als
vorhanden ist, jedoch gibt es kaum Soft- Bluetooth-Eingabegerät und erzeugt Tasten-
ware für das System. kombinationen.
ã Black Sheep [22] – Leute, die schwer ein-
Später folgte wiederum das April/
schlafen, können nun auch am Neo Schafe
August-Software-Update (ASU) [15],
zählen.
welches Enlightment und Qtopia-
Programme einsetzt. Es stellte eine Ver-
In den folgenden Ausgaben von freiesMagazin
besserung dar, ließ aber noch Wünsche
werden genauere Vorstellungen folgen. Wer nicht
offen. Es verfügt zwar über eine große
so lange warten will, kann auch opkg.org [23]
Auswahl von installierbaren Paketen,
durchstöbern.
von denen aber nur wenige direkt nach
der Installation des Updates bereits vor-
handen sind.
Andere Images
Android
Numptyphysics’ Hauptmerkmal ist die Physik-Engine.
Die Zukunft? FSO! Ein anderes interessantes Projekt ist die Portie-
© Qole Tech (CC-BY)
Die Zukunft des Projektes liegt in der rung von Android [24]. Hierbei besteht das Pro-
in Python geschriebenen freesmartphone.org- Zum Einsatz kommt FSO in SHR, Debian, FYP blem darin, dass die Android-Plattform für neue-
Middleware FSO [16]. FSO ermöglicht eine ein- und weiteren Distributionen. re Generationen des ARM-Prozessors entwickelt
fache Verwendung der Hardware über dbus. So wurde. Die aktuelle Version des Port (beta3)
ist es möglich, dass sich GPS automatisch ein- Anwendungen kann Anrufe tätigen/empfangen, sich mit einem
bzw. ausschaltet wenn eine Anwendung darauf Eine Vorstellung aller Anwendungen würde den WLAN-Netz verbinden und den GPS-Chip nut-
zugreift. Außerdem können Technologien wie As- Rahmen dieses Artikels sprengen, deshalb wird zen. Die freie Navigationssoftware AndNav2 [25]
sisted GPS (AGPS) und Ähnliches zentral inte- sich auf auf eine Liste mit wenigen Highlights be- ist bereits vorinstalliert. Allerdings ist die GSM-
griert werden. Auch eine Ortung mittels Handy- schränkt: Verbindung teilweise instabil und es gibt Proble-
netz (GSM) ist inzwischen geplant. me mit GPRS und SMS. Über die Firma Koo-
ã TangoGPS [18] – Anzeigen von Straßenkar- lu [26] können bereits Geräte mit vorinstalliertem
Vor Kurzem erschien Milestone V [17]. Zu den Android erworben werden.
Neuerungen zählen stabileres GPRS, automati- ten und mehr.
sche Zeit- und Zeitzonenkonfiguration per GPS ã Mokomaze [19] – Einen Ball per Beschleuni- SHR
und die Integration von Beschleunigungungssen- gungssensoren durch ein Labyrinth navigie- Beim Stable Hybrid Release (SHR) [27] handelt
soren für Gestenerkennung. Außerdem wurde ren. sich es um ein von Bearstech [28] unterstütz-
eine Schnittstelle (API) für Personal Informati- ã Numptyphysics [20] – Das Ziel ist es, einen tes Community-Projekt. SHR war als Weiterfüh-
on Manager (PIM) integriert, diese ist allerdings Ball zu einem Stern zu befördern, indem man rung der GTK-basierenden Distribution gedacht.
noch experimentell. Objekte zeichnet. Inzwischen setzt SHR Enlightment und die FSO-
Middleware ein. Somit ist es mit den FSO-Demo- Fazit [15] http://wiki.openmoko.org/wiki/ASU
Images vergleichbar, wobei in SHR eigene Te- Hardwareseitig ist das NeoFreerunner ein recht [16] http://wiki.openmoko.org/wiki/FSO
lefonanwendungen einsetzt werden und nicht guter PDA mit GPS. Softwareseitig ist die La- [17] http://trac.freesmartphone.org/milestone/
Zhone, wie bei den FSO-Images. ge unklarer. Es gibt zwar interessante Software milestone5
für die Plattform, die verfügbaren Distributionen [18] http://www.tangogps.org/gps/cat/About
Debian
haben aber alle noch ihre kleinen und großen [19] http://mokomaze.projects.openmoko.org/
Da für die ARM-Architektur bereits eine Debian-
Schwächen, wobei das FSO-Framework bereits [20] http://numptyphysics.garage.maemo.org/
Quelle vorhanden ist, gab es frühzeitig einen
in Begriff ist, viele davon auszumerzen.
Debian-Installer für das Openmoko. [21] http://wiki.openmoko.org/wiki/ReMoko
Als OpenStreetMap-Mapper [32] (siehe auch [22] http://www.opkg.org/package_169.html
FYP
„OpenStreetMap – GoogleMaps-Klon oder doch [23] http://www.opkg.org/
FYP ist eine recht neue, auf Debian basierende
mehr?“, freiesMagazin 11/2008 [33]) ist das Ge- [24] http://www.android.com/about/
Distribution. Der Name stammt von dem Webfo-
rät hervorragend zu gebrauchen. Das GTA03 [25] http://www.andnav.org
rum FreeYourPhone [29]. FYP setzt als erste Dis-
wird sich wegen der integrierten 2MP Kamera
tribution (abgesehen vom FSO-Demo-Image) be- [26] http://www.koolu.com/
vermutlich noch besser fürs Mappen eignen.
reits Milestone V ein. Im Moment sucht der Ent- [27] http://wiki.openmoko.org/wiki/Stable_Hybrid_
wickler zusammen mit der Community eine voll L INKS Release
kompatible Kernelkonfiguration. [28] http://www.bearstech.com
[1] http://wiki.openmoko.org/wiki/Main_Page/de
[29] http://www.freeyourphone.de
Hackable [2] http://de.wikipedia.org/wiki/FIC
Hackable basiert wie FYP auf Debian, allerdings [30] http://wiki.openmoko.org/wiki/2007.2
[3] http://www.openmoko.com
wird hier die vom 2007.2er-Image [30] bekannte [31] http://wiki.openmoko.org/wiki/Gentoo
[4] http://wiki.openmoko.org/wiki/Neo_1973
GTK-Oberfläche verwendet. Wie auch SHR wird [32] http://www.openstreetmap.org
[5] http://de.wikipedia.org/wiki/ARM-Architektur
Hackable von Bearstech unterstützt. [33] http://www.freiesmagazin.de/freiesMagazin-2008-
[6] http://wiki.openmoko.org/wiki/Neo_FreeRunner
11
Ziel von Hackable ist, wie der Name schon ver- [7] http://wiki.openmoko.org/wiki/GTA03
muten lässt, ein System für Entwickler und Bast- [8] http://www.pro-linux.de/news/2009/14023.htm Autoreninformation
ler zu schaffen. [9] http://freeyourphone.de/portal_v1/viewtopic.php?
Florian Schweikert benutzt seit zwei
f=19&t=929
Gentoo Jahren Linux (Debian und Ubuntu).
[10] http://wiki.openmoko.org/wiki/GTA04
Da Gentoo [31] (bzw. gcc) bekanntlich auch auf Durch das Openmoko-Projekt ist
[11] http://wiki.openmoko.org/wiki/Supported_
ARM-Prozessoren lauffähig ist, ist es nicht über- er auf OpenStreetMap aufmerksam
devices
raschend, dass es bereits einen portage-overlay geworden. Vor allem sein Neo Free-
gibt. Allerdings gibt es kaum Erfahrungsberichte [12] http://wiki.openmoko.org/wiki/HXD8 runner hilft beim Kartografieren der
dazu. [13] http://qtopia.net/modules/devices/ Umgebung.
[14] http://de.wikipedia.org/wiki/X_Window_System
as Projekt gNewSense [1] hat sich über Debian und Ubuntu in ähnlicher Weise auch Software, die von proprietärer Software ausge-
Komfort und die Nutzbarkeit des Betriebssys- ã die Installation unfreier Software nicht zu er- sches Look and Feel, wie die Screenshots [20]
tems nicht einzuschränken. Dank einer neuen leichtern. zeigen. Der Live-Modus erlaubt das Testen der
Lizenz für die betroffene Software ist dieses Pro- Die zwei Ziele müssen kurz erläutert wer- Hardware – nicht unwichtig, denn durch das Ent-
blem mittlerweile aber behoben [15]. den. Zum ersten Punkt: Bei jeder nicht-trivialen fernen unfreier Treiber können einige Hardware-
Software-Sammlung ist es sehr schwer, die hun- Komponenten, die unter Ubuntu unterstützt wer-
Weiterhin erleichtern Debian und Ubuntu die In- den, nicht betrieben werden (siehe unten). Aus
stallation unfreier Software, z. B. durch die Be- derprozentige Freiheit jedes Programms sicher-
zustellen – jede Quelldatei muss auf ihre Lizenz dem Live-Modus heraus kann die Installation auf
reitstellung der Repositorys contrib und non-free der Festplatte gestartet werden. Anleitungen und
(Debian) bzw. restricted und multiverse (Ubuntu) hin überprüft werden. gNewSense entfernt je-
doch umgehend Software aus dem Angebot, so- Hilfen zu Installation und Verwaltung des Sys-
sowie durch eine graphische Oberfläche zur In- tems sind ebenfalls im Wiki [21] zu finden.
stallation proprietärer Treiber für Grafikkarten, bald deren Unfreiheit entdeckt wird, auch wenn
WLAN-Karten etc. (in Ubuntu unter der Benut- dadurch erhebliche Einschränkungen entstehen Welche Einschränkungen gibt es?
zeroberfläche GNOME im Menu „System » Admi- (so geschehen bei oben angesprochener unfrei-
Nach obigen Ausführungen ist es keine Über-
nistration“). Auch die Standardbrowser Iceweasel er Software in X.org [18]). Zum zweiten Punkt:
raschung, dass die Benutzung von gNewSense
(Debian) und Firefox (Ubuntu) bieten die Installa- Es bleibt natürlich in der Freiheit des Benutzers,
Einschränkungen mit sich bringt im Vergleich zu
tion unfreier Plugins an. unfreie Software zu installieren. Jedoch bietet
Ubuntu. Fehlende Unterstützung für viele WLAN-
gNewSense dazu keine Hilfe, wie z. B. die Bereit-
Karten, fehlendes GLX, kein Firefox, dies alles
stellung solcher Software oder von Anleitungen,
gNewSense – die Idee macht gNewSense nicht attraktiver für den Be-
wie unfreie Software installiert werden kann.
Das Projekt gNewSense hat sich zum Ziel nutzer. Um Enttäuschungen zu vermeiden, ist
gesetzt, eine GNU/Linux-Distribution zu schaf- Die Umsetzung es daher dringend empfohlen, sich vor einer
fen, die die Freiheit der Benutzer als obers- Zu diesem Zweck programmierten die Gründer Installation über die zu erwartende Hardware-
tes Ziel hat – auch wenn dadurch Komfort und Brian Brazil und Paul O’Malley den sogenann- Unterstützung und mitgelieferte Software zu in-
Hardware-Unterstützung eingeschränkt werden. ten „Builder“, eine Reihe von Skripten, die aus formieren. Hierzu sollte gNewSense im Live-
Handlungsgrundlage ist die Richtlinie der FSF Ubuntu die unfreien Elemente entfernen. Mit Hil- Modus von der CD gestartet werden. Hier kann
für freie Betriebssysteme [16]. Folgendes Zitat fe des Builders kann jeder Benutzer sich seine man Grafik, Sound, Netzwerkkarte etc. ohne Ri-
beschreibt das Ziel von gNewSense: „Note our eigene freie GNU/Linux-Distribution bauen. Ein siko testen. Da die Entfernung unfreier Firm-
goal is to produce a fully free distribution, not interessanter Spezialfall allerdings ist die bereits ware aus dem Kernel automatisiert erfolgt, gibt
to have as many features as possible“ [17]. (Auf vorbereitete Distribution – welche, wie das Pro- es keine präzise Liste von Rechnerkomponen-
Deutsch: „Beachte, dass es unser Ziel ist, eine jekt auch, gNewSense genannt wird – für die ten, die von gNewSense – im Vergleich zu
komplett freie Distribution zu erstellen, nicht, so eine Live-CD in Form eines ISO-Images bereit- Ubuntu – nicht unterstützt werden. Ausgangs-
viele Funktionen wie möglich zu haben.“) Konkret steht [19]. punkt für die Suche nach unterstützter Hardware
bedeutet dies, dass gNewSense versucht, . . . kann eine entsprechende Seite der FSF [22]
Die aktuelle Version gNewSense 2.1 basiert auf sein. Für weitere Informationen empfiehlt sich
ã nur freie Software im Sinne der FSF zu vertei-
Ubuntu 8.04.1 und bringt daher ein fast identi- der Besuch des gNewSense-Forums [23] oder
len und
eine Anfrage auf der Mailingliste [24]. Im Allge- können so dazu gebracht werden, freie Trei- [15] http://www.fsf.org/news/thank-you-sgi
meinen nicht unterstützt werden WLAN-Karten, ber und Firmware für ihre Produkte bereitzu- [16] http://www.gnu.org/philosophy/free-system-
verschiedene LAN-Karten und Grafikkarten, für stellen und somit Transparenz und Innovation distribution-guidelines.html
die keine freien Treiber existieren. Im Vergleich auch in diesem Bereich der Software-Herstellung [17] http://www.gnewsense.org/Main/Features
zu Ubuntu fehlen selbstverständlich auch die zu ermöglichen. Doch auch den Mutterprojekten [18] http://wiki.gnewsense.org/Main/Broken3dApps
Software-Repositorys restricted und multiverse, Debian und Ubuntu von gNewSense kann man
[19] http://www.gnewsense.org/Mirrors/Mirrors
die Sektion universe ist hingegen standardmäßig durch den Einsatz von gNewSense signalisie-
[20] http://wiki.gnewsense.org/Screenshots/
aktiviert [25]. ren, dass man die Prinzipien und Verträge kon-
Screenshots
sequent einhalten will und mit faulen Ausnahmen
Warum dennoch gNewSense? nicht einverstanden ist. [21] http://wiki.gnewsense.org/
gNewSense ist eines der Betriebssysteme, die [22] http://www.fsf.org/resources/hw
von der FSF als frei eingestuft und aktiv unter- L INKS [23] http://wiki.gnewsense.org/index.php?n=
stützt werden [26]. Für das Betriebssystem stellt [1] http://www.gnewsense.org ForumMain.ForumMain
das GNU-Projekt eine modifizierte Version des [2] http://www.ubuntu.com [24] http://www.gnewsense.org/index.php?n=
Firefox-Browsers, Icecat [27] genannt, zur Verfü- Community.Community
[3] http://www.fsf.org
gung, die sehr einfach über die Paketverwaltung [25] http://www.gnewsense.org/Main/Features
[4] http://www.gnu.org/philosophy/free-system-
installiert werden kann. Icecat bietet die Instal-
distribution-guidelines.html [26] http://www.gnu.org/links/links.html#FreeGNU
lation ausschließlich freier Plugins an und wur- LinuxDistributions
de im Vergleich zu Firefox um einige Sicherheits- [5] http://www.broadcom.com/support/ethernet_nic/
driver-sla.php?driver=570x-Linux [27] http://www.gnu.org/software/gnuzilla/
funktionen erweitert. Einige der von gNewSense
nicht unterstützten Komponenten können durch [6] http://www.kernel.org [28] http://www.fsfla.org/svnwiki/selibre/linux-libre/
index
die Installation eines neuen Kernels des Pro- [7] http://www.debian.org/social_contract
jekts „Linux Libre“ [28] doch noch unterstützt wer- [8] http://www.debian.org/social_contract# [29] http://aligunduz.org/gNewSense/
den (vorbereitete Debian-Pakete bietet Ali Gun- guidelines
duz an [29]). So ermöglicht der aktuelle Kernel [9] http://www.debian.org/vote/2006/vote_007.en. Autoreninformation
2.6.28-libre dieses Projekts die Verwendung des html Benedikt Ahrens benutzt seit mehre-
tg3-Moduls ohne die unfreie Firmware. Auch eini- [10] https://bugs.launchpad.net/~gnewsense ren Jahren Debian und Ubuntu. Über
ge WLAN-Karten der Firma Atheros können mit [11] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug= die im Debian-Projekt andauernde
Hilfe der freien Module atk5 und atk8 (im Kernel 211765 Diskussion über den Umgang mit
2.6.28 enthalten) betrieben werden. [12] http://www.debian.org/vote/2004/vote_002 unfreier Firmware im Linux-Kernel
(„Binary Blobs“) entdeckte er gNew-
Durch die Benutzung von gNewSense kann man [13] http://www.debian.org/vote/2006/vote_007
Sense.
zeigen, dass einem die Freiheit der verwendeten [14] https://bugs.launchpad.net/debian/+bug/6765/
Software wirklich wichtig ist. Hardware-Hersteller comments/8
weieinhalb Jahre nach seiner ersten dore Ts’o [4] mit dem neuen Dateisystem ext4. keit zusammenhängend. Davon können Medien-
system kann nicht mehr als ext3 eingebunden des Gegenteils ist anzunehmen, dass die von Die beiden rohen Protokolldateien des Bench-
werden, eine Konvertierung zurück ist also aus- den Entwicklern vorgegebenen Parameter opti- marks mit jeweils fünf Durchläufen stehen zum
geschlossen. Ein ext3-Dateisystem kann jedoch mal sind. Eine Option, die auf allen Dateisyste- Download zur Verfügung [6] [7]. Auch das Skript
als ext4 eingebunden werden. Es bleibt dennoch men sinnvoll ist, die sie anbieten, ist relatime diskbenchmark kann man herunterladen [8]. Es
ein ext3-System, bis es explizit konvertiert wird. oder gar noatime. Denn das Speichern der letz- ist offensichtlich noch verbesserungsfähig, so
ten Zugriffszeit einer Datei erzeugt viel I/O, und könnte man beispielsweise die Blockgrößen bei
Nach dem Anlegen kann das Dateisystem mit es gibt praktisch keine Anwendung, die diese Zeit dd und bonnie++ konfigurierbar machen.
mount [Devicename] [Einhängepunkt] ein- benutzt. In diesem Test wurde diese Option aller-
gebunden werden. Optional kann man den Typ dings nicht benutzt. Die nachfolgende Tabelle zeigt die Ergebnisse,
des Dateisystems mit -t ext4 angeben. Das wobei als redundant erachtete Werte, die bon-
dürfte jedoch meist unnötig sein, da das Datei- Ein erster Testlauf mit einem eigens erstell- nie++ lieferte, nicht betrachtet wurden. Der mar-
system automatisch erkannt wird. ten Skript erbrachte unbefriedigende Ergebnis- kierte Eintrag in jeder Zeile hebt den besten Wert
se. In diesem Lauf wurde jede Messung drei- hervor. In den Zeilen, in denen ext2 am besten
Nach dem Einbinden kann das Dateisystem wie mal gemacht und das Benchmarkprogramm bon- abschnitt, ist zusätzlich noch der Bestwert unter
jedes andere verwendet werden. Erweiterte At- nie++ [5] mit seinen Standardparametern ver- den Journal-Dateisystemen markiert.
tribute und Security-Labels sollten wie bei ext3 wendet. Die Ergebnisse zeigten große Schwan-
zur Verfügung stehen. Ein kurzer Test zeigt, dass kungen und erwiesen sich als unzureichend. Zu- Benchmarkergebnisse
sich auf Systemen, die die Option „große Datei- dem wurde das System nicht optimal ausgereizt. ext2 ext3 ext4
en verwenden“ nicht besitzen, Dateien von ma- Leider war es nicht möglich, die Schwankun- Dateisystem anlegen [s] 6,58 9,03 8,36
ximal 2 TB Größe erzeugen lassen. Der andere gen zu begrenzen, da das System während der Dateisystem einbinden [s] 0,56 0,89 0,58
Fall konnte leider nicht getestet werden. Benchmarks wechselnden anderen Lasten aus- Datei 8 GB lesen [MB/s] 61,6 62,3 66,4
gesetzt war. Ein Herunterfahren in Runlevel 1, Datei 8 GB schreiben 63,1 57,1 60,4
Benchmarks wie es oft bei Benchmarks praktiziert wird, kam [MB/s]
Seq. lesen [MB/s] 60,2 59,3 64,8
Durchführung nicht in Frage.
Seq. schreiben [MB/s] 60,0 55,6 58,3
Testrechner war ein AMD Phenom (4 Kerne) mit
Um die Messergebnisse abzusichern, wurde da- Seeks [1/s] 123 110 129
2,4 GHz und 4 GB RAM. Als Kernel kam Linux
her ein neuer Testlauf mit besseren Parametern Datei erzeugen [1/s] 844 69760 59872
2.6.28 in der 64-Bit-Version zum Einsatz. Für den
für bonnie++ durchgeführt und jede Messung Datei löschen [1/s] 1964 19777 19574
Test wurde ein logisches Volume von 20 GB Grö-
fünfmal wiederholt. Der ganze Test wurde spä- Datei 8 GB löschen [sys s] 0,235 0,534 0,457
ße auf einem RAID 1 angelegt.
ter mit weiteren fünf Läufen wiederholt. Wo nicht Datei 8 GB löschen 0,498 0,612 0,500
[min Ges s]
Auf besondere Optionen beim Erstellen und Ein- anders angegeben, wurde jeweils das beste Re-
Datei 8 GB löschen 9,588 7,596 7,029
binden der Dateisysteme wurde verzichtet. Zwar sultat der insgesamt 10 Läufe gewertet. Cache-
[max Ges s]
können diese durchaus Auswirkungen auf die Effekte wurden durch eine Dateigröße vom Dop-
Geschwindigkeit haben, aber bis zum Beweis pelten des Hauptspeichers ausgeschlossen.
Die Zahl der Seeks pro Sekunde hing stark von tend sind, wurden die Dateien in späteren Läufen hier jfs, das überhaupt keine Zeit mit dem Lö-
den Parametern von bonnie++ ab. Die hier er- mit einer zufälligen, gleichverteilten Größe von 0 schen versäumte. ext4 schnitt im wahrsten Sinn
mittelten Werte wären jedoch im Einklang mit ei- bis 1999 Bytes erzeugt. Ob durch diese Wahl be- des Wortes besser ab als ext3. reiserfs erwies
ner mittleren Suchzeit der Festplatte von 8 ms, stimmte Dateisysteme begünstigt werden, konn- sich als langsamer.
in deren Nähe sich die meisten aktuellen Fest- te aus Zeitgründen nicht ermittelt werden. Das
platten bewegen. Der Unterschied von 20 % zwi- Ergebnis war, dass ext3 und ext4 deutlich in Füh- Für die Anwender ist interessanter, wie schnell
schen den Dateisystemen scheint daher bemer- rung lagen und die anderen Dateisysteme um ein der Systemaufruf zum Löschen der Datei zurück-
kenswert. Mehrfaches übertrafen. In der Praxis dürfte es je- kehrt. Die minimal gemessene Zeit war hier bei
doch nur wenige Anwendungen geben, in denen allen Dateisystemen nur geringfügig höher als
so viele Dateien erzeugt oder gelöscht werden, die Systemzeit. ext2 und ext3 stellten eine Aus-
dass diese Werte eine Rolle spielen. nahme dar, die vielleicht auf eine zu geringe
Zahl von Messungen zurückzuführen ist. Ein sehr
Es wurde der Wert für das sequentielle Erzeugen merkwürdigen Phänomen zeigte sich darin, dass
von Dateien verwendet. Beim zufällig verteilten das Löschen bisweilen erheblich länger dauerte,
Erzeugen von Dateien waren alle Dateisysteme mitunter mehr als zwanzigmal so lang wie im mi-
ein wenig langsamer. jfs allerdings war um Faktor nimalen Fall. Das deckte sich mit früheren Be-
10 langsamer als beim sequentiellen Erzeugen. obachtungen am Dateisystem ext3. Lediglich jfs
konnte bei keinem solchen Ausreißer ertappt wer-
Erzeugen von Dateien.
den. Die Ursache des Problems könnte im Kernel
unterhalb der Dateisystem-Ebene liegen, da alle
Dateisysteme betroffen waren (ob jfs eine Aus-
nahme darstellt, kann noch nicht als sicher gel-
ten). Entwickler von Echtzeit-Anwendungen soll-
ten sich über dieses Verhalten im Klaren sein und
einen Workaround vorsehen.
Dateisystemprüfung -f Fehler erkannt wurden. Die Prüfung mit Repa- Die ermittelte Zeit für die Dateisystemprüfung
ext4 soll auch die Zeit für die Dateisystemprüfung ratur dauerte trotzdem nicht länger als der fehler- zeigte in frappierender Weise, welche Verbesse-
deutlich reduzieren. Um dies zu prüfen und zu freie Fall. Dass bei dieser Reparatur, die die Kon- rungen in ext4 erzielt wurden. Das neue Datei-
quantifizieren, wurde folgendes Szenario einge- sistenz des Dateisystems wieder herstellt, nor- system war bei dieser Partitionsgröße stets um
richtet: Das Dateisystem wurde wieder in einer malerweise Daten verloren gehen, sollte bekannt mindestens das 30-fache schneller als ext3. Lan-
Größe von 20 GB angelegt und eingebunden. Da sein. Wichtige Daten müssen immer mit einem ge Wartezeiten durch eine ungeplante Dateisy-
es nicht sinnvoll ist, ein leeres Dateisystem zu Backup gesichert werden. stemprüfung dürften damit der Vergangenheit an-
prüfen, wurde das Dateisystem mit knapp 20 GB gehören. Wir vermuten jedoch, dass in weniger
Dateimüll gefüllt. Das war die Gelegenheit, die Weitere Ergebnisse mit ext3 und ext4 günstigen Fällen größere Teile von ext4 geprüft
Geschwindigkeit eines annähernd realistischen ext3 ext4 werden müssen und die Lage dann nicht ganz
Kopiervorgangs zu messen. Danach wurde das 20 GB kopieren [MB/s] 24,1 26,3 so rosig aussieht. Getestet wurde das aber nicht.
Dateisystem ausgehängt. Volles Dateisystem einbinden [s] 0,122 0,186 Auch in anderer Hinsicht stellten die ermittelten
Volles Dateisystem aushängen [s] 0,006 0,110 Werte einen Optimalfall dar. Die Metadaten des
Nun wurde nochmals gemessen, wie lan- fsck -f [s] 60,3 1,9 Dateisystems dürften nämlich jeweils bereits im
ge das Dateisystem zum Einbinden benötig- Cache von Linux gewesen sein. Bei einem Neu-
te. Auch das nachfolgende umount wurde ge- Dieser Test konnte aus Zeitgründen nur einmal start könnte die Dateisystemprüfung deutlich län-
messen. Das Dateisystem war damit bereit durchgeführt werden, daher sollten die Werte ger dauern.
für den interessanten Teil, die Dateisystemprü- nicht zu genau genommen werden. Beim Kopie-
fung mit dem Programm fsck (File System ren war zu erwarten, dass der Durchsatz höchs- Die Optionen zur automatischen Konsistenzprü-
Check). Dieser wurde ohne spezielle Optionen tens halb so hoch sein würde wie beim sequen- fung des Dateisystems, die mit tune2fs anseh-
durchgeführt. Schließlich wurde mit debugfs -v tiellen Lesen oder Schreiben, denn Quelle und und änderbar sind, sind übrigens bei ext4 noch
/dev/mapper/vg0-test das Dateisystem auf Ziel befanden sich auf derselben Festplatte. Tat- genauso vorhanden wie bei ext3. Genaueres
„dirty“ gesetzt. Ein nachfolgendes e2fsck be- sächlich lag der gemessene Wert etwas nied- kann man im Artikel „Dateisystem-Tuning“ von
gann auch ohne die Option -f eine Dateisystem- riger, was wohl auf das Anlegen von Dateien, Pro-Linux [9] nachlesen.
prüfung. Deren Zeit wurde ebenfalls gemessen. Suchvorgänge und andere Dateioperationen zu-
rückzuführen ist, die zum rekursiven Kopieren da- Weitere Themen
Zum Abschluss wurde das Dateisystem beschä- zugehören. ext4 zeigte sich auch hier schneller
Defragmentierung
digt: als ext3.
Jedes Dateisystem kann im Laufe der Zeit frag-
# dd if=/dev/zero of=/dev/mapper/y Beim Einbinden waren beide Dateisysteme merk- mentieren. Das bedeutet, dass Dateien nicht
vg0-test count=100 seek=1024 würdigerweise schneller als im ersten Test. Mög- mehr kontinuierlich auf der Platte gespeichert
licherweise waren die meisten Metadaten bereits werden und dadurch die Zeit zum Lesen
Diese zugegebenermaßen wenig subtile Metho- im Cache, sodass der Messwert nicht allzu viel der Datei ansteigen kann. Die meisten Linux-
de führte zu dem beabsichtigten Ergebnis, dass Aussagekraft hat. Gleiches gilt für das Aushän- Dateisysteme besitzen Algorithmen, um Frag-
bei einer anschließenden Prüfung mit e2fsck gen, das keine nennenswerte Zeit benötigte. mentierung so gut wie möglich zu vermeiden,
sodass kaum ein Anwender jemals eine Leis- # mke2fs -b 4096 -O journal_dev y Auf die Eigenschaften von btrfs soll hier nicht wei-
tungseinbuße durch Fragmentierung verspürt. /dev/sdd1 ter eingegangen werden. Eine solche Betrach-
Dementsprechend sind Werkzeuge zur Defrag- # tune2fs -J device=/dev/sdd1 y tung könnte Gegenstand eines späteren Artikels
mentierung dünn gesät. Für ext4 ist dennoch /dev/sdc1 sein. Hier soll es nur um die Grundfunktionen und
eine Online-Defragmentierung vorgesehen. Ein deren Geschwindigkeit gehen.
Programm namens e4defrag ist offenbar in Ar- Booten von ext4
beit [10]. Über die Zusammenarbeit der Bootloader liegen Die Testbedingungen waren die gleichen wie
mit Ausnahme von GRUB [12] noch keine Infor- beim ursprünglichen Test. Erfreulicherweise lief
Für die wenigen Benutzer, die jemals eine De- mationen vor. Für die alte Version von GRUB 0.9x der Test ohne erkennbare Probleme durch. Auch
fragmentierung benötigen werden, bietet der Arti- gibt es eine Implementierung von ext4, die im für diesen Test, der mit 10 Läufen durchgeführt
kel „Defragment Ubuntu, Fedora, ext3, ext4“ [11] Rahmen eines „Summer of Code“-Projekts von wurde, stehen die Rohdaten zur Auswertung zur
eine kleine Übersicht über Methoden und Pro- openSUSE entwickelt wurde [13]. Es ist unklar, Verfügung [16]. Hier zunächst die gleiche Tabelle
gramme. ob und wann diese Modifikation in das offizielle wie oben für btrfs:
Projekt einzieht.
Externes Journal Benchmarkergebnisse
Wie bei ext3 kann man bei ext4 die Geschwin- btrfs
Für die Nachfolgeversion GRUB 2 gibt es noch
digkeit etwas steigern, wenn man das Journal Dateisystem anlegen [s] 0,40
keine offizielle Unterstützung, aber es wird daran
auf ein separates Gerät legt: beispielsweise ein Dateisystem einbinden [s] 0,11
gearbeitet. Die Entwicklerversion 1.97 von GRUB
Dateisystem auf /dev/sdc1 mit einer Blockgrö- soll von ext4 booten können [14]. Datei 8 GB lesen [MB/s] 65,2
ße von 4096, dessen Journal auf /dev/sdd1 Datei 8 GB schreiben [MB/s] 60,5
liegt. Die vorhandenen Nutzdaten auf /dev/sdc1 Seq. lesen [MB/s] 66,4
btrfs, der neue Herausforderer
bleiben hierbei erhalten. Seq. schreiben [MB/s] 59,7
Kurz vor Fertigstellung des Artikels wurde
Seeks [1/s] 173
Zunächst ist sicherzustellen, dass das Dateisys- btrfs [15], das neue Dateisystem von Chris Ma- Datei erzeugen [1/s] 32808
tem nicht eingebunden ist: son, nicht nur in den offiziellen Kernel aufgenom- Datei löschen [1/s] 20843
men, sondern erschien auch in einer neuen Ver- Datei 8 GB löschen [sys s] 0,786
# umount /dev/sdc1 sion 0.17, die sich zusammen mit den zugehö- Datei 8 GB löschen [min Ges s] 0,950
rigen Tools problemlos kompilieren und installie- Datei 8 GB löschen [max Ges s] 1,173
Nun kann man das bestehende Journal entfer- ren ließ. Dies war Anlass genug, die Stabilität des
nen, danach das externe Jornal auf /dev/sdd1 Testsystems zu riskieren und auch für btrfs eini- btrfs konnte durch die Bank sehr gute, teilwei-
mit der gleichen Blockgröße anlegen und zuletzt ge Benchmarkergebnisse zu ermitteln. Da btrfs se sogar Spitzenwerte erzielen. Das Anlegen
das Journal, das nun extern ist, wieder hinzufü- noch mindestens ein halbes Jahr von der Fertig- eines Dateisystems ging nur bei xfs schneller.
gen: stellung entfernt ist, sollte man die folgenden Re- Beim Einbinden setzte sich btrfs an die Spitze
sultate mit Vorsicht genießen. vor xfs und jfs. Beim Lesen und Schreiben mit
# tune2fs -O ˆhas_journal /dev/sdc1
dd verpasste es knapp den ersten Platz, beim
vergleichbaren Test mit bonnie++ war es jedoch Unklar ist zur Zeit noch, wie sich ext4 mit den [13] http://code.google.com/p/grub4ext4/
unter den Journal-Dateisystemen das schnellste. aufkommenden SSD-Festplatten verhält. Doch [14] http://grub.enbug.org/CurrentStatus
Mit 173 Seeks pro Sekunde deklassierte es die bleibt den Entwicklern noch viel Zeit für entspre- [15] http://btrfs.wiki.kernel.org/
Konkurrenz. Beim Erzeugen von Dateien war es chende Optimierungen. Auch ist ext4 noch nicht
[16] http://www.pro-linux.de/berichte/ext4/btrfs.txt
nur halb so schnell wie ext3 und ext4, was aber fertig, sondern wird im Gegensatz zu ext3 wohl
immer noch für den dritten Platz genügte. Beim noch einige weitere Features erhalten. Autoreninformation
Löschen hingegen konnte es ext3 und ext4 leicht
überbieten. Das Löschen einer großen Datei wur- Vorsicht ist geboten, wenn eine Interoperabilität Hans-Joachim Baader befasst sich
de in rund einer Sekunde erledigt, was zwar deut- mit anderen Betriebssystemen notwendig ist, bei- seit 1993 mit Linux. 1994 schloss er
lich langsamer war als die anderen, aber keine spielsweise über virtuelle Maschinen. Da es eine sein Informatikstudium erfolgreich ab
Ausreißer nach oben zeigte. Weile dauern dürfte, bis ext4-Implementationen und machte die Softwareentwicklung
für die anderen Systeme bereitstehen, sollte man zum Beruf. Seit 1995 arbeitet er
Zum jetzigen Zeitpunkt sind die Ergebnisse von in diesem Fall von ext4 Abstand nehmen. freiberuflich. Daneben ist er einer der
btrfs fast schon sensationell. Bis die endgültige Betreiber von Pro-Linux.de.
Version von btrfs erscheint, kann jedoch noch L INKS
viel passieren. Zum einen kann die Leistung op- [1] http://ext4.wiki.kernel.org/
timiert werden, zum anderen könnte das Hinzu- [2] http://www.pro-linux.de/berichte/ext4/ext4.html
fügen der noch fehlenden Features auch dazu [3] http://www.gnu.org/copyleft/fdl.html
führen, dass sich die Algorithmen verlangsamen. [4] http://www.pro-linux.de/news/2006/9900.html
Ein endgültiges Urteil kann noch nicht gefällt wer-
[5] http://www.coker.com.au/bonnie++/
den.
[6] http://www.pro-linux.de/berichte/ext4/ext4-
ergebnis1.txt
Fazit
[7] http://www.pro-linux.de/berichte/ext4/ext4-
Mit ext4 ist es den Entwicklern gelungen, das
ergebnis2.txt
Dateisystem ext3 ins nächste Jahrzehnt zu be-
[8] http://www.pro-linux.de/berichte/ext4/diskbench
fördern. Bei leicht gesteigerter Geschwindigkeit
mark
der normalen Dateioperationen bringt ext4 das
Ende der meisten relevanten Größenbeschrän- [9] http://www.pro-linux.de/work/tuning/fs-tuning.
html
kungen, beschleunigte Dateisystemprüfung, ei-
ne effizientere Verwaltung und andere Verbesse- [10] http://article.gmane.org/gmane.linux.file-systems/
rungen. Dabei werden keine grundlegend neuen 24133
Konzepte eingeführt, sondern auf Bewährtes auf- [11] http://sharevm.wordpress.com/2008/12/16/
435/ „Compiling“ © by Randall Munroe
gebaut, das bereits aus anderen Dateisystemen
[12] http://www.gnu.org/software/grub/ (CC-BY-NC-2.5), http://xkcd.com/303
bekannt war.
asis aller Distributionen ist der Linux- SquashFS [6], ein komprimierendes Read-only-
WiFi Link 5x50 Karten versehen. Der „Wireless den reihenweisen Verlust von Daten, darunter Systemen zu betreiben, wurden von Torvalds mit
Access Point Mode“ ist eine Anpassung des bemerkenswert viele Konfigurationsdateien von der Aussage, dass man dann auch direkt zu
mac80211-Stacks und ermöglicht den Betrieb KDE und GNOME, die nach dem Absturz schlicht ext2 zurückkehren könne, abgetan. Generell ist
als Access Point in Verbindung mit hostapd [10]. leer waren und entsprechende Probleme verur- Torvalds von dem Prinzip, Daten verzögert auf
Dies kann allerdings nur mittels cfg80211 [11] sacht haben. ext4-Entwickler Ted Ts’o weist den den Datenträger zu schreiben, wenig angetan,
eingerichtet werden, zudem muss die verwende- Fehler den beiden Desktopumgebungen zu, die da dies die Gefahr erhöhe, dass Dateien beschä-
te Hardware und deren Treiber dies unterstützen. offensichtlich sehr viele Dateien im gleichzeiti- digt werden.
gen Schreibzugriff hatten. Als Lösung empfiehlt
Auch mit neuen Treibern kann der aktuelle er künftig das Schreiben in eine neue Datei und Xen und der Kernel
Kernel aufwarten. Zu nennen sind zum Bei- das anschließende Verschieben auf den Original- Stirbt Xen [22] aus? Eine Mail an die Linux-
spiel die WLAN-Treiber rt2860 und rt2870 für Dateinamen und weist auf die Funktion fsync() Kernel-Mailingliste [23], mit der eigentlich um
Ralink-Karten, für Realteks rtl8187se-Chip oder hin. Einige Patches, die das Problem entschärfen die Aufnahme von Patches für die Xen-Dom0-
für Airgos AGNX00 Chips. Die kleinen OLED- sollen, wurden bereits eingebracht, werden sich Unterstützung geworben wurde, löste eine Dis-
Displays von Asus-Notebooks können nun über aber erst in 2.6.30 wiederfinden [17] [18] [19]. kussion aus, ob überhaupt noch Xen-Patches
einen Treiber angesprochen werden. Mit dem
im Linux-Kernel gepflegt werden sollen [24]. Die
openPOWERLINK-Stack [12], einer Umsetzung Generell entspricht dieses Prinzip jedoch dem
Virtualisierungslösung der Wahl ist mittlerweile
von CANopen [13] über Ethernet, steht nun ein POSIX-Standard [20]. Dieser gibt für den Fall,
KVM [25], zumindest für die Kernel-Entwickler.
Kommunikationsprotokoll zur Verfügung, das in dass das System nicht sauber heruntergefahren
KVM integriere sich besser in den Kernel, da
der Automatisierungstechnik verwendet wird. wird, jedoch lediglich an, dass der Zustand da-
er keinen eigenen Hypervisor brauche, sondern
nach „undefiniert“ ist. So besteht in nächster Zeit
Diese Übersicht stellt nur einen Auszug der um- die Komponenten des Kernels selbst nutze. Da-
noch Klärungsbedarf, inwieweit Optimierungen
fangreichen Änderungen dar, mit denen 2.6.29 gegen steht, dass KVM nur mit Prozessoren,
an der Basis des Systems althergebrachte Vor-
aufwartet. Eine vollständige Auflistung liefert die die AMD-V oder Intels VT-Technologie aufweisen,
gehensweisen umwerfen dürfen oder auf die Ent-
englischsprachige Seite KerneNewbies.org [14]. genutzt werden kann.
wicklung und Anforderungen der übrigen System-
komponenten und Anwendungen Rücksicht neh- Derzeit unterstützt der Kernel nur DomU, womit
Ärger um Ext4 men müssen. der Betrieb als Gast ermöglicht wird. Nativer Ein-
Kaum nutzt die erste Distribution ext4 als satz als Host erfordert Dom0-Unterstützung, die
Standard-Dateisystem, schon gibt es Ärger [15]: Zwischenzeitlich wurde das Thema nach ei-
vom Xen-Hypervisor zwingend benötigt wird. Die
Das um bis zu 60 Sekunden verzögerte Schrei- ner Mail von Jesper Krogh zu Performance-
Patches für Dom0 werden auch bei der aktuel-
ben von Daten auf die Festplatte, auch als Einbußen bei ext3 [21] wieder aufgerollt und
len Xen-Version 3.3 nur für den Kernel 2.6.18
„Allocate-on-flush“ [16] bekannt, sollte eigent- auch Linus Torvalds meldete sich zu Wort.
geliefert, der jedoch schon etwas älter ist und
lich die Systemleistung steigern und beim Ener- Wiederum musste Ts’o den „Allocate-on-flush“-
aktuelle Treiber missen lässt. Die fortschreiten-
giesparen helfen. Bei Abstürzen der Alpha- Mechanismus und deren Vorteile verteidigen.
de Entwicklung des Kernels könnte, sollten keine
Versionen von Ubuntu 9.04 sorgte es jedoch für Sein Vorschlag, ext4 vorerst nur auf einzelnen
Dom0-Patches für aktuellere Kernel-Versionen
zur Verfügung stehen, zum Verlust von Marktan- [4] https://blueprints.launchpad.net/ubuntu/+spec/ [25] http://de.wikipedia.org/wiki/Kernel-based_Virtual_
teilen bei Xen führen, spätestens wenn der Ker- plymouth Machine
nel 2.6.18 nicht mehr auf aktueller Hardware lauf- [5] http://de.wikipedia.org/wiki/Btrfs [26] http://de.wikipedia.org/wiki/Netfilter
fähig ist. [6] http://de.wikipedia.org/wiki/Squashfs [27] http://www.pro-linux.de/news/2009/13956.html
[7] https://launchpad.net/ecryptfs
Nachfolger für netfilter [8] http://de.wikipedia.org/wiki/Ext4
Autoreninformation
Der im Kernel integrierte Paketfilter netfilter [26] [9] http://de.wikipedia.org/wiki/WiMAX Mathias Menzer wirft gerne einen
bekommt einen Nachfolger. Dieser wird nfta-
[10] http://hostap.epitest.fi/hostapd/ Blick auf die Kernel-Entwicklung, um
bles [27] heißen und wirft einige der alten Kon-
[11] http://linuxwireless.org/en/developers/Documenta mehr über die Funktion von Linux zu
zepte über den Haufen. Die Kernel-Komponente
tion/cfg80211 erfahren und seine Mitmenschen mit
soll ohne Sperren auskommen und erheb-
[12] http://openpowerlink.sourceforge.net/ seltsamen Begriffen und unverständli-
lich weniger Quellcode benötigen. Die Erzeu-
[13] http://de.wikipedia.org/wiki/CANopen chen Abkürzungen nerven zu können.
gung von Regeln erfolgt durch die Userspace-
Komponente, die über eine an iptables ange- [14] http://kernelnewbies.org/Linux_2_6_29
lehnte Syntax gesteuert wird. Dahinter verbirgt [15] https://bugs.launchpad.net/ubuntu/+source/linux/
sich jedoch ein Parser, der eine Prüfung der Re- +bug/317781
geln vornimmt, bevor er sie an das Kernelmodul [16] http://en.wikipedia.org/wiki/Allocate-on-flush
weiterreicht und dieses damit von derlei Aufga- [17] http://git.kernel.org/?p=linux/kernel/git/tytso/ext4.
ben entlastet. Weiterhin spricht für nftables, dass git;a=commit;h=3bf3342f394d72ed2ec7e77b5b
es komplett protokollunabhängig ist, flexibler und 39e1b50fad8284
auch schneller als netfilter sein soll. netfilter [18] http://git.kernel.org/?p=linux/kernel/git/tytso/ext4.
dient seit acht Jahren als Basis für Firewall- git;a=commit;h=6645f8c3bc3cdaa7de4aaa3d34d
Funktionalitäten in Linux-Systemen. Es regelt 40c2e8e5f09ae
die Weitergabe von Paketen zwischen Netzwerk- [19] http://git.kernel.org/?p=linux/kernel/git/tytso/ext4.
schnittstellen und den Eingangs- und Ausgangs- git;a=commit;h=dbc85aa9f11d8c13c15527d43a
warteschlangen. iptables ist die Bedienkompo- 3def8d7beffdc8
nente, mit der netfilter gesteuert wird. [20] http://de.wikipedia.org/wiki/Portable_Operating_
L INKS System_Interface
[21] http://www.linux-magazin.de/news/linus_
[1] http://www.freiesmagazin.de/freiesMagazin-2009-
torvalds_schimpft_ueber_ext_3_und_ext_4
01
[22] http://de.wikipedia.org/wiki/Xen
[2] http://lkml.org/lkml/2009/3/23/449
[23] http://lkml.org/lkml/2009/2/27/411
[3] http://de.wikipedia.org/wiki/Beutelteufel#Die_ „Egg Drop Failure“ © by Randall Munroe
[24] http://www.heise.de/open/artikel/134016
Bedrohung_durch_DFTD (CC-BY-NC-2.5), http://xkcd.com/510
D tungsfähige Programmiersprache,
die einfach und intuitiv zu erlernen ist.
Es ist eine neue Programmiersprache ähnlich
zu VB.NET und Visual Basic 6 [2]. KBasic
ist 100 % syntaxkompatibel zu VB6 und QBa-
sic. Außerdem unterstützt KBasic VB.NET di-
rekt durch Funktionen, ähnliche Objekte und
Klassen. Dabei ist es aber kein VB-Klon! Es
handelt sich um eine voll funktionsfähige ob-
jektorientierte Sprache [3], die die modernen
Programmiertechniken mit eigenen Objekten
und Ereignissen unterstützt. Der Artikel soll
eine kleine Einführung in die Sprache geben.
Einleitung
KBasic ist eine Multi-Plattform-Programmier-
sprache für Mac, Windows und Linux, sodass
fast die gesamte API auf allen Plattformen und
Betriebssystemen gleich ist. Mit KBasic kann
man moderne objektorientierte Anwendungen er-
stellen, z. B. mit Zugriff auf SQL-Datenbanken Beispielformular mit Radio-Buttons.
und das Internet. KBasic ist in englischer und
Programmieren mit KBasic
deutscher Sprache verfügbar. KBasic nutzt Qt Genauso wie in VB6 ist es möglich, im globalen
Ein Programm in KBasic besteht aus einer
als Toolkit für die plattformübergreifenden Funk- Namensraum globale Funktionen, Variablen und
oder mehreren Klassen, Modulen, Formularen
tionen. Konstanten zu deklarieren.
oder einfach nur Funktionen oder Prozeduren.
Des Weiteren sind die einfachen Datentypen wei- 2. Erstellung des Programms mittels des Quell- ã die Bestimmung des Verhaltens der Steuer-
testgehend gleich. Bevor man mit dem Program- texteditor und Formulardesigners. elemente und
mieren loslegen kann, ist es sinnvoll, dass man 3. Abspeichern des Programms. ã die Festlegung der Beziehung zwischen der
ein grundlegendes Verständnis über Computer- 4. Ausführen des Programms, um es zu testen. Benutzerschnittstelle und dem Rest des Pro-
programme hat. gramms.
5. Fehler korrigieren.
Ein Computerprogramm ist eine Liste von Anwei- 6. Zurück zu Schritt 2. Zusätzlich zu den grafischen Möglichkeiten, kann
sungen, die dem Computer sagt, was er tun soll. man mit KBasic noch neue Programmelemente
Die meisten Schritte im Entwicklungsprozess
Der Computer folgt diesen Anweisungen oder Be- erstellen. In KBasic gibt es folgende Programm-
wiederholen sich immer wieder, da Fehler ent-
fehlen, Schritt für Schritt, bis er das Ende des elemente:
deckt und korrigiert werden.
Programms erreicht hat. Jede Zeile eines Com-
Programmelemente
puterprogramms ist für gewöhnlich ein Befehl, Ist Programmieren schwierig? Projekt Es enthält u. a. Klassen, Module
den der Computer ausführt. Jeder Befehl erledigt Ja und nein. Es ist einfach, kleine Program- und Formulare.
nur eine kleine Aufgabe, wie z. B. Zahlen addie- me in KBasic zu schreiben. Die KBasic- Formular Dies sind die Oberflächen des
ren oder einen Text auf dem Bildschirm ausge- Programmiersprache ist logisch, der englischen Programms mit dem zugehörigen
ben. Computer verstehen kein Deutsch oder Eng- Sprache ähnlich und einfach zu verstehen. Mit Ereigniscode.
lisch; sie verstehen auch keine andere menschli- ein wenig Übung kann man einfache und nütz- Klassen/Module Dies sind die Programmteile. Klas-
che Sprache. Computer verstehen nur eine Spra- sen können Methoden und andere
liche Programme schreiben. Alles, was man
Anweisungen enthalten.
che: Maschinensprache. Diese besteht nur aus braucht, ist Zeit.
Prozeduren Diese werden benutzt, um Pro-
zwei Zahlen: 0 und 1. Aber Programmierspra-
gramme zu strukturieren.
chen wie KBasic erlauben Programmierern, Pro- Die Entwicklungsumgebung
gramme mit einer englisch-ähnlichen Sprache zu
Die Entwicklungsumgebung von KBasic ent- Reaktionen auf Ereignisse
entwickeln. Dort gibt es einen Übersetzer, der
hält u. a. Menüleisten, Werkzeugleisten, ein Pro- Eine typische KBasic-Anwendung besteht aus
diese englisch-ähnliche Sprache in Maschinen-
jektübersichtsfenster, einen Quelltexteditor und Formularen, Modulen, Klassen und anderen Ob-
sprache übersetzt, sodass der Computer die Pro-
einen Formulardesigner. jekten, die man zu einer Einheit verbindet. For-
gramme verstehen kann.
mulare und deren Steuerelemente, das Ändern
Man kann KBasic für die schnelle Entwicklung
Ein Computerprogramm besteht aus Entwick- von Daten in einem Feld oder das Anklicken ei-
von grafischen Anwendungen verwenden (Ra-
lungsschritten, wie beim Schreiben eines Be- nes Befehlssymbols durch den Benutzer entspre-
pid Application Development – RAD). Der For-
richts oder einer Geschichte. Die folgenden Zei- chen Ereignissen. Man kann die Reaktion auf
mulardesigner ermöglicht per Drag & Drop und
len sollen diese Schritte verdeutlichen: ein Ereignis steuern, indem man diesem Ereig-
Mausklick
nis KBasic-Anweisungen zuordnet.
1. Entwurf des Programmkonzepts und der Bild-
ã den Entwurf der Benutzeroberfläche eines
schirmmasken, wie sie auf dem Bildschirm KBasic ist objektorientiert. Objektorientierte Pro-
Programms,
aussehen könnten. grammierung ist eines der wichtigsten Konzepte
der letzten Jahre und hat sich auf breiter Linie schiedene Werte berechnen, diese vergleichen ã benutzerdefinierter Datentyp (Type ... End
durchgesetzt. Dort tauchen Begriffe auf wie und je nach Ergebnis des Vergleichs unterschied- Type)
ã das Überschreiben von Klassenprozeduren liche Operationen mit den Werten ausführen. ã benutzerdefinierte Aufzählung (Enum ...
und das dynamische Suchen nach Prozedu- Hier eine Beispieldeklaration einer Variablen: End Enum)
ren, Dim myName As String Mathematik steckt auch drin
ã die Erweiterung einer Klasse, um eine Unter- KBasic unterstützt alle VB6-Operatoren und dar-
klasse zu erzeugen, Zuweisungsanweisungen weisen einen Wert
über hinaus noch einige mehr. Zum Addieren
ã Variablen einer Klasse oder Objekts oder oder Ausdruck einer Variablen zu. Sie enthalten
benutzt man Plus (+), zum Subtrahieren Minus
immer ein Gleichheitszeichen (=). Das folgende
ã Prozedur einer Klasse oder Objekts. (-). Division und Multiplikation werden mit Geteilt
Beispiel weist den Rückgabewert der InputBox-
(/) und Mal (*) durchgeführt. Das folgende Bei-
Installation Funktion der Variablen yourName zu:
spiel gibt „Hallo Welt“ aus, was zuvor aus „Hal-
Die Installation der KBasic-Entwicklungsumge- lo “ und „Welt“ während des Programmablaufs er-
Dim yourName As String
bung ist in einem eigenen Artikel „Installation von stellt wurde:
yourName = InputBox("What is your y
KBasic“ auf Seite 26 beschrieben.
name?") Dim s As String
Einfaches Programmbeispiel: Hallo Welt MsgBox "Your name is " & yourName s = "Hallo " + "Welt"
Jetzt soll sich einem allgegenwärtigen Favoriten PRINT s
zugewendet werden, einem sehr einfachen Pro- Wenn man den obigen Quelltext eingibt und das
Programm startet, wird man aufgefordert seinen
gramm: „Hallo Welt“. Dieses Beispiel gibt den Where do you want to go?
Text „Hallo Welt!“ auf dem Bildschirm aus. Dazu Namen einzugeben. Nach der Eingabe wird die-
ser Name wie eingegeben auf dem Bildschirm In einem Programm werden die einzelnen Anwei-
gibt man folgende Programmzeile in ein neues sungen in Abhängigkeit von Bedingungen und
Quelltextfenster in KBasic ein. Dafür klickt man angezeigt.
Zuständen ausgeführt. Um Zustände und Be-
im Menü auf „Datei » Neu » Neue Datei“ und spei- dingungen abzufragen gibt es spezielle Befeh-
Hell oder Dunkel?
chert diese unter einem neuen Namen: le. Die Befehle, die Entscheidungen und Schlei-
Datentypen beschreiben die Art der gespeicher-
ten Daten. Neben dem Namen muss eine Varia- fen in KBasic steuern, werden als Kontrollstruktu-
Print "Hallo Welt!" ren bezeichnet. Die am häufigsten verwendeten
ble auch einen Typ haben. KBasic unterstützt vie-
le VB6-Datentypen und darüber hinaus noch vie- Kontrollstrukturen in KBasic sind Entscheidungs-
Aller Anfang ist leicht strukturen und Schleifenstrukturen.
le mehr. Mögliche Typen sind:
Im Folgenden werden wesentliche Bestandteile
der Programmiersprache KBasic vorgestellt. ã einer der einfachen Datentypen (z. B. Double Ja oder Nein
für Zahlen oder String für Texte) Entscheidungsstrukturen enthalten bedingte An-
Häufig ist es erforderlich, beim Ausführen von ã Name einer Klasse (ob benutzerdefinierte weisungen, die überprüfen, ob eine Bedingung
Berechnungen mit KBasic Werte vorübergehend Klasse oder KBasic-Klasse) True oder False ist, und legen dann eine oder
zwischenzuspeichern. Man möchte z. B. ver-
If witzig Then
Print "Lachen :-)"
Else
Print "...langweilig!"
End If
Function divide(dividend As y mittels Inherits kann stattdessen von einer Befehle verwenden möchte, die man von VB6
Double,divisor As Double) As Double beliebigen Klasse geerbt werden. Die Deklara- oder Qbasic her kennt, wie z. B. GoSub oder Zei-
Return dividend / divisor tion einer Klasse besteht aus dem Klassenna- lennummern, so kann man dies auch in KBasic
End Function men und dem Namen der Elternklasse, von der tun. Das folgende Beispiel stellt ein altes QBasic-
die Klasse erbt. Die neue Klasse enthält Kon- Programm dar:
Print divide(18, 9) struktoren und Destruktor-Prozeduren, Klassen-
variablen und Klassenprozeduren, Instanzvaria- OPTION VERYOLDBASIC
Schöne neue Welt: Objekte und Klassen blen und Instanzprozeduren, Klasseneigenschaf- DIM b AS INTEGER
Eine weitere Möglichkeit, den Quelltext zu struk- ten und natürlich Klassenkonstanten der Eltern- b = 45
turieren, besteht darin, dass man Objekte und klasse. Um eine Klasse zu verwenden, benötigt GOTO bernd
Klassen verwendet, um komplexe Sachverhalte man ein Objekt der Klasse. b = 99999
darzustellen. Die Objekte und Klassen in KBasic bernd:
sind ein komplexes Thema, welches hier kurz vor- Class auto PRINT b
gestellt wird. Objekte werden anhand einer Klas- Public s As String L INKS
se erstellt. Eine Klasse enthält die Anweisungen [1] http://www.kbasic.de/
und Datendefinitionen, die ein Objekt beinhalten Sub fahre()
[2] http://de.wikipedia.org/wiki/Visual_Basic
soll. Durch Objekte und Klassen ist es erst mög- Print "fahre ..."
End Sub [3] http://de.wikipedia.org/wiki/Objektorientierte_
lich einfach und schnell komplexe und wiederver-
Programmierung
wendbare Softwaremodule zu schreiben. Sub haltan()
Print "halte an ..." [4] http://www.pro-linux.de/work/kbasic/kbasic-
Um ein Objekt zu erstellen und zu benutzen, End Sub tutorial.html
braucht man eine Variable. Eine Variable, die ein End Class [5] http://www.gnu.org/copyleft/fdl.html
Objekt beinhalten soll, zu deklarieren, erzeugt [6] http://www.kbasic.com/doku.php?id=source_
noch nicht das Objekt selbst. Die Variable ist ent- Dim audi As New auto ’ erstelle y codes
weder nur eine Referenz auf irgendein Objekt neues Objekt anhand auto
oder nichts. Um tatsächlich ein Objekt zu erzeu- Dim bmw As New auto ’ erstelle y Autoreninformation
gen, muss man das Schlüsselwort New benutzen. neues Objekt anhand auto Bernd Noetscher ist der Entwickler
von KBasic. Sein Ziel ist es, Neulingen
Eine Klasse enthält kein Hauptprogramm, son- audi.fahre den Einstieg in die Programmierwelt
dern nur Deklarationen und Prozeduren. Man audi.haltan möglichst einfach zu machen. Dafür
führt nicht eine Klasse, sondern die darin ent- bmw.fahre arbeitet er seit 2000 an der Program-
haltenen Prozeduren als Reaktion auf Ereignisse
miersprache.
aus oder man ruft diese Prozeduren direkt auf. Goto QBasic
Eine Klasse zu definieren ist einfach. Normaler- KBasic ist nicht nur eine Programmiersprache,
weise erbt jede Klasse von der Klasse Object, sondern gleich drei. Wenn man alte BASIC-
gestartet (siehe „Mehrkern-Prozessoren mit ma- Hinweis: Auf einem 64-Bit-System klappt die Ge- Da KBasic aber Open Source ist, kann man
ke ausnutzen“, freiesMagazin 03/2008 [9]). Das nerierung auf diese Art leider immer noch nicht, den Quellcode natürlich nach Belieben an-
ist vor allem bei Mehrkernsystemen sinnvoll, da zahlreiche Fehler der Art passen und diese zwei Fenster entfernen
hat aber leider den Nachteil, dass jeder gcc- (kbide/_mainwindow.cpp enthält hierbei den
Prozess etwa 400 MB Speicher verbraucht. Star- stack.h:104: Fehler: Typumwandlung relevanten Part). Für Version 1.89 hat Bernd
tet man also diese vier Prozesse, werden bis zu von »memory_variable2*« nach Noetscher bereits eine Anpassung versprochen.
1,6 GB gleichzeitig benötigt – neben dem Spei- »t_integer« verliert Genauigkeit
cher, den das Betriebssystem braucht. Da heu- L INKS
gemeldet werden. Dies soll sich, wie oben bereits
tige Standard-Rechner noch nicht alle über eine [1] http://www.kbasic.com/doku.php?id=kbasic_s_
erwähnt, mit Version 1.90 von KBasic ändern. license
so große Menge an Speicher verfügen, ist die Op-
tion sehr gutgläubig vom Skript-Autor eingebaut Die KBasic-IDE kann über [2] http://www.gnu.org/licenses/gpl.html
worden und wurde daher wieder entfernt. Dann [3] http://www.gnu.org/licenses/gpl-faq.html#
dauert die Kompilierung gegebenenfalls länger, $ ./kbide/kbide IfInterpreterIsGPL
aber zumindest friert das System beim Kompilie- [4] http://www.gnu.org/licenses/gpl-faq.html#
ren nicht plötzlich ein, weil sämtlicher Speicher gestartet werden. Man erhält dann aber gege- GPLCommercially
belegt ist. Wer genügend Speicher und mehr Ker- benenfalls einige Warnhinweise mit der Meldung
[5] http://kbasic.de/download.html
ne im System hat, kann das -j4 wieder einfügen. „Could not read from ...“. Diese kann man ge-
[6] http://wiki.ubuntuusers.de/getlibs
Daneben wurde noch der Pfad für libtool geän- trost ignorieren, da die Datei kbasic.config bei
der Quelltext-Version nicht mitgeliefert, und da- [7] http://www.kbasic.com/doku.php?id=source_
dert, da ein %_bindir unter Linux-Systemen kei-
codes
nen Erfolg verspricht. her auch nicht gefunden wird.
[8] http://www.freiesmagazin.de/system/files/kbasic-
Das Skript hat noch ein weiteres großes Problem: Der IDE-Start build.sh
Wenn bei irgendeinem Schritt ein Fehler auftritt, [9] http://www.freiesmagazin.de/freiesMagazin-2008-
Nach dem Start der IDE wird man in der Version
hält die Generierung nicht an, sondern macht 03
1.87 von zwei Fenstern begrüßt. Das erste in-
einfach weiter. Dadurch werden Fehler bei der formiert über die GPL-Lizenz der Linux-Version.
Generierung gegebenenfalls übersehen oder es Autoreninformation
Dies ist zwar sinnvoll, ein einmaliges Einblenden
werden massig Fehlermeldungen ausgegeben, würde aber reichen. Das zweite Fenster ist da- Dominik Wagenführ ist Software-
die nur Folgefehler sind. nach etwas verwirrend, da plötzlich behauptet entwickler und programmiert auch
wird, KBasic sei keine Freie Software, obwohl in seiner Freizeit. KBasic steht zwar
Wenn man den zuletzt genannten Punkt ignoriert,
ein Schritt zuvor über die GPL informiert wurde. nicht auf seiner Lernliste, aber er
muss man das Skript noch ausführbar machen
Da es dennoch einen Knopf „Use GPL Version“ findet, dass der andere KBasic-Artikel
und kann die Generierung starten:
gibt, ist dies höchstwahrscheinlich nur ein kleines ohne Installation oder Lizenzerklä-
$ chmod +x build.sh Überbleibsel der Windows-Version. rung nur halb so viel wert ist.
$ ./build.sh
er Mensch ist ein Jäger und Samm- sind gegebenenfalls einige Menüpunkte im Pro- In auf Debian basierenden Distributionen kann
tionen man speichern will und welchen Datentyp aber bereits. Unter „Beschreibung“ ergänzt man Auswahlmöglichkeiten „2009; 2008“) und der Sei-
die Information haben soll. eine sinnvolle kurze Beschreibung des Datenfel- te vor.
Die Sammlungen lassen sich natürlich auch im- des, z. B. „Titel des Artikels“. Einen „Standard-
mer leicht erweitern, aber so spart man sich eine wert“ gibt es nicht. Bei den Formatierungsoptio- Da man sicher auch daran interessiert ist, wel-
spätere Ergänzung einzelner Datenfelder. nen kann man „Als Titel formatieren“ stehen las- che Artikel in einer bestimmten Ausgabe erschie-
sen. Dies sorgt dafür, dass in der Anzeige spä- nen sind, muss man hierfür ein besonderes Feld
Für die freiesMagazin-Artikel sind folgende Infor- ter, bis auf bestimmte und unbestimmte Artikel anlegen. Man erstellt einen neuen Eintrag mit
mationen interessant: und einige weitere Wörter, alles groß geschrie- dem Titel „Ausgabe“. Als Typ stellt man „Ab-
ã Titel (Text) - Diese Information enthält den Ti- ben wird. Bei den Feld-Optionen sollte nichts ak- hängig“ ein. Die Beschreibung ist „freiesMagazin
tel des Artikels. tiviert werden. %{Monat}/%{Jahr}“. Eine Gruppierung muss logi-
scherweise erlaubt sein. Die Syntax „%{FELDBE-
ã Autor (Text) - Wer hat den Artikel geschrie- Als Nächstes wird über die Schaltleiste „Neu“ auf ZEICHNUNG}“ holt sich damit den Inhalt dieses
ben?
der linken Seite ein neuer Eintrag erstellt. Als „Ti- Feldes und zeigt ihn ausgewertet an.
ã Monat (Auswahl) - In welchem Monat er- tel“ trägt man „Autor“ ein und ergänzt eine gute
schien der Artikel? Beschreibung. Die Formatierung sollte man auf Es gibt daneben noch weitere Datentypen wie
ã Jahr (Auswahl) - Und in welchem Jahr? „Als Namen formatieren“ umstellen. Dies sorgt Checkboxen, Bewertungen (mit Sternen), Bilder,
ã Seite (Nummer) - Die Seite, auf der der Artikel dafür, dass eine Eingabe wie „Max Mustermann“ Tabellen, URLs und mehr.
beginnt. immer als „Mustermann, Max“ angezeigt wird.
Daten eingeben
Die „automatische Vervollständigung“ ist sinnvoll,
Sammlung erstellen Man sollte bei der Reihenfolge der erstellten Da-
da es sicher Autoren gibt, die mehrere Artikel ver-
Zuerst öffnet man Tellico über den Menüpunkt tenfelder beachten, dass diese immer abwech-
fasst haben. Auch „Mehrere Einträge erlauben“
„Büro » Tellico“. Über „Datei » Neu » Neue benut- selnd von rechts nach links und von oben nach
sollte man aktivieren, da Artikel von zwei oder
zerdefinierte Sammlung“ erstellt man eine neue unten in zwei Spalten im Eingabefenster aufge-
mehr Autoren verfasst sein können. Mehrfachein-
Sammlung. Da das Ergebnis sehr leer aussieht, teilt werden. Die Reihenfolge kann man bei der
träge kann man später bei der Eingabe per Se-
sollte man obige ausgearbeiteten Datenfelder Bearbeitung der Datenfelder jederzeit ändern.
mikolon trennen. Eine „Gruppierung“ sollte man
hinzufügen. Dazu wählt man „Sammlung » Da- auch erlauben, um sich alle Artikel eines Autors Um einen Neueintrag zu tätigen, wählt man
tenfelder der Sammlung“ oder klickt auf das zu- auflisten lassen zu können. „Sammlung » Neuer Eintrag“ oder klickt das Icon
gehörige Symbol mit dem Zettel und dem Stift mit dem leeren Eintragsfeld (links neben dem
darauf. Danach fügt man den Monat mit Typ „Auswahl“
Icon mit dem Stift) an.
hinzu. Die Auswahlmöglichkeiten schreibt man je-
Es gibt immer einen vordefinierten Eintrag „Ti- weils durch ein Semikolon separiert in das Feld In dem erscheinenden Dialog füllt man alle Fel-
tel“, der sich zwar nicht entfernen, dafür aber „Erlaubte Werte“, also „01; 02; 03; 04; 05; 06; 07; der aus und wählt „Speichere Eintrag“. Über
umbenennen lässt. In diesem Fall passen die 08; 09; 10; 11; 12“. Alle anderen Felder lässt man „Neuer Eintrag“ kann man weitere Einträge täti-
Feld-Eigenschaften „Titel“, „Typ“ und „Kategorie“ leer. Identisch geht man mit dem Jahr (mit den gen.
Leiste oben auf das dialog, über den man verwalten kann, wem man
Feld mit dem klei- z. B. eine DVD ausgeliehen hat. Auch ein Daten-
nen Dreieck. Wählt abgleich mit verschiedenen Anbietern wie Ama-
man z. B. „Autor “ zon oder Internet Movie Database sind ohne Wei-
aus, sieht man in der teres möglich. Dies hilft vor allem bei der Eingabe
linken Fensterhälfte von Büchern, Filmen oder anderen Medien, die
eine Liste aller Auto- eine eindeutige Kennung haben. In den Einstel-
ren mit der Anzahl lungen findet man eine ganze Reihe an weiteren
der Artikel in Klam- Optionen.
mern hinter dem Na-
men. Ein Klick auf Insgesamt ist Tellico ein sehr sinnvoller Helfer bei
das „Plus“ vor dem der Verwaltung von Daten. Es ersetzt zwar keine
Alle Einträge in der Übersicht. Eintrag listet alle Arti- komplexe Datenbank, für die ein Privatanwender
kel auf. Klickt man nur auf den Autor, und derjeni- aber meistens sowieso keine Verwendung hat.
Ansicht und Gruppierung ge hat mehr als einen Artikel verfasst, wird in der Nicht-KDE-Nutzer könnte stören, dass das Pro-
rechten unteren Fensterhälfte jeder Artikel mit gramm auf Qt basiert, die Integration in GNOME
Ansichtseinstellungen
ist aber gut genug. Wer darüber hinwegsieht, er-
Auf der rechten oberen Seite im Tellico-Fenster einem Icon dargestellt. Durch eine Mehrfachaus-
hält ein praktisches Programm zur Sammlungs-
sieht man alle aktuellen Einträge. Am Anfang ist wahl (per Strg oder Shift ) kann man so auch
verwaltung.
nur die Spalte „Titel“ sichtbar. Für die anderen mehrere Datensätze auf einmal bearbeiten.
Datenfelder klickt man mit der rechten Taste auf L INKS
Filter
die Leiste „Titel“ und kreuzt die gewünschten Ein-
Neben der Sortierung und Gruppierung kann [1] http://wiki.ubuntuusers.de/Medienverwaltung
träge an. Durch einen Klick auf eine Spalte sor-
man Einträge auch herausfiltern. Man muss da- [2] http://periapsis.org/tellico/
tiert man die Sammlung nach dem gewünschten
für nur in das Feld rechts neben dem weißen X [3] http://periapsis.org/tellico/download/
Feld.
einen Suchbegriff eingeben, und schon werden
Klickt man einen Eintrag an, erscheint rechts un- die Einträge gefiltert. Durch einen Klick auf den Autoreninformation
ten eine Übersicht mit allen Inhalten der Datenfel- Trichter kann man die Ergebnisse aber noch viel
genauer filtern. Dominik Wagenführ ist Redakteur
der.
bei freiesMagazin und verwaltet
Gruppierung Fazit alle seit 2006 verfassten Artikel des
Auf der linken Seite sieht man die Sortierung Magazins in einer Tellico-Datenbank.
Tellico hat noch mehr zu bieten. So kann man
nach Gruppen. Um eine Gruppe auszuwählen Auf diese Art findet er leicht Autoren
komplette Berichte aus den eigenen Sammlun-
(alle Datenfelder mit der Eigenschaft „Erlaube und Artikel vergangener Ausgaben.
gen erstellen, als HTML speichern oder gleich
Gruppierung“ zählen dazu), klickt man in der ausdrucken. Daneben gibt es noch einen Ausleih-
o vielseitig Emacs, vi, Nano und Co einen Delete-Knopf sucht man vergebens. Sol- dem man ihnen kurz und bündig die URL in
Orthografie in Text-Eingabefeldern angewiesen darin, dass eben keine eigene Anwendung au- L INKS
wurde. ßer einem Webbrowser benötigt wird und da- [1] http://etherpad.com/
mit die Hürden für den Einstieg sehr niedrig lie- [2] http://gobby.0x539.de/
Fazit gen. Auch die Installation eines Server entfällt,
Etherpad erfüllt seinen Job, und das gut. Das zudem nutzt Etherpad keine eigenen Protokol- Autoreninformation
gemeinschaftliche Arbeiten an einem Text läuft le und Ports, womit auch Anwender hinter einer
angenehm flüssig. Die Verzögerung, bis die an- Firewall oder einem Web-Proxy nicht von vorne- Mathias Menzer bearbeitet oft
deren die eigenen Eingaben zu sehen bekom- herein ausgeschlossen werden. Einen faden Bei- und gerne Texte mit Freunden
men, liegt weit unter einer Sekunde. Das Inter- geschmack hinterlässt die Speicherung der Inhal- und Kollegen. Werkzeuge, die dies
face ist übersichtlich gehalten und intuitiv be- te und der Revisionen auf unbestimmte Zeit. Da- ermöglichen, sind ihm da immer
dienbar – auch aufgrund der eher eingeschränk- rüber, firmeninterne oder sonstige sensitive Tex- willkommen.
ten Optionen. Ein Vorteil gegenüber eingeses- te mit Etherpad zu bearbeiten, sollte man nicht
senen Anwendungen wie z. B. Gobby [2] liegt einmal nachdenken.
uch wenn ein Update des DVD- tet hat. Zusätzlich wurde sich bei der Anfrage und als Produktmodell den gewünschten DVD-
auf die zweite, englische E-Mail landete am Mon- Die Antwort kam am Dienstagabend und war lei- Samsung
tag, den 19. Januar, im Posteingang. der negativ, da die DVD-Brenner von Pioneer nur Auf der Seite vom Samsung findet man das Kon-
unter Windows aktualisiert werden können. taktformular [16] zwar mit zwei Klicks, leider war
Das Resultat war der höfliche Hinweis, dass Lauf- es in Firefox 3.0.4 und Opera 9.60 Beta 1 nicht
werke von Lite-On keine Firmware-Updates unter Plextor bedienbar, da es kein Eingabefeld für das zwin-
Linux unterstützten und dass Microsoft Windows Plextor scheint keine deutsche Kundschaft zu gend erforderliche Modell gab. Dies lag wahr-
hierfür empfohlen wird. mögen, denn wenn man die deutsche Seite an- scheinlich an einem weißen Flash-Banner, wel-
wählt, wird man nur zu Plextor Europe [10] um- ches vor dem Eingabefeld lag.
Enttäuschend, aber auch so zu erwarten. geleitet, die komplett in Englisch gehalten ist. In-
gesamt scheint die Webseite auch nicht sehr ak- Nach der Installation von Ubuntu Intrepid und
LG
tuell zu sein, stehen doch auf der Kontaktsei- Opera 9.63 bzw. Firefox 3.0.6 konnte die Sei-
Auch der Kontakt auf der LG-Webseite [6] konn-
te [11] noch Urlaubsdaten von 2007. Davon ab- te korrekt angezeigt werden, die Auswahl des
te schnell hergestellt werden, das Kontaktformu-
gesehen gelangt man hierüber an das Kontakt- DVD-Modells umfasst aber leider eine vordefi-
lar [7] ist in Deutsch gehalten.
formular [12], welches dann wieder in Deutsch nierte Liste mit älteren Modellen. Etwas nega-
Im Gegensatz zu den anderen Herstellern wur- ausgefüllt werden kann. tiv ist, dass Samsung bei der Kontaktaufnahme
de die Anfrage morgens am 9. Januar verschickt auch Straße, Telefonnummer oder Postleitzahl er-
Die Anfrage wurde am Mittwoch, den 14. Janu- fragen möchte, die Felder können aber auch mit
und bereits kurz nach Mittag am gleichen Tag traf
ar, beantwortet. Zwar unterstützt Plextor Linux einem „-“ gefüllt werden.
eine Antwort ein. Leider war diese wie im Fall
nicht selbst, aber immerhin wurde auf eine
von Lite-On negativ, da nur Windows-basierende
Webseite [13] mit mehr Informationen verwie- Die Anfrage wurde aufgrund der obigen Pro-
Betriebssysteme unterstützt werden. Für Linux
sen. Hierüber gelangt man auf eine Zwischen- bleme nachträglich am Samstag, den 7. Febru-
konnte leider kein Support gegeben werden.
seite für Linux/Unix [14], auf der man er- ar 2009, getätigt. Die vielversprechende Antwort
Pioneer fährt, dass Jörg Schilling (u.a. Entwickler von traf am 11. Februar ein.
Pioneer hat, was den reinen Service-Ablauf cdrecord) eine Firmware-Update-Software für
Linux bereithält [15]. Auf dem FTP-Server fin- Der Hotline-Mitarbeiter kannte die exakte Ant-
angeht, am Besten abgeschnitten. Über die
det man im Ordner firmware/plextor die Ver- wort zwar nicht, hat die Anfrage aber an wis-
Pioneer-Webseite [8] gelangt man über den
sion pxupdate-1.39-i686-pc-linux-gnu von sende Kollegen weitergeleitet. Zusätzlich hat er
„Support“- und dann den „Hotline“-Link zum Kon-
Ende 2004. als Umgehungsmöglichkeit die Verwendung ei-
taktformular [9].
ner Windows-Live-CD empfohlen und dabei auf
Wenn man die Anfrage erstellt hat, erhält man ne- Ob das Programm seinen Dienst wirklich tut, einen unbestimmten Artikel in der c’t hinge-
ben einer Eingangsbestätigung (im Übrigen die konnte aufgrund fehlender Hardware nicht getes- wiesen. Darüber hinaus ist das Stichwort „PE-
einzige im Test) auch eine URL, auf der man den tet werden. Es ist aber erfreulich, dass Plextor Builder“ gefallen.
ganzen Kontakt nachvollziehen und eine Anfrage auf ein privates Projekt verweist und so Linux-
Nutzern die Möglichkeit gibt, ein Update in ihrem Wenn man die Stichworte in eine Suchmaschine
gegebenenfalls verbessern kann.
Betriebssystem durchzuführen. eingibt, landet man sehr schnell auf der Seite von
Barts PE Builder [17], mit dem man von einer Fazit [8] http://www.pioneer.de/
bestehenden Windows-XP-CD ein Live-System Der Test war an und für sich etwas gemein, [9] http://www.pioneer-hotline.de/
erstellen kann. Als Nachfolger davon wurde Vi- da bereits im Vorfeld bekannt war, dass nur [10] http://www.plextor-europe.com/
staPE [18] erstellt, welches für das neue Sys- wenige Hersteller – wenn überhaupt – ein
[11] http://www.plextor-europe.com/technicalservices/
tem Windows Vista geeignet ist. Die Projektseite Firmware-Update unter Linux unterstützen. Es support/contact_support.asp?choice=Contact%
von heise zu diesem Thema [19] hält auch eini- überrascht daher nicht, dass fast alle Antworten 20support
ge Links parat, besonders die Seite für den PE auf ein Windows-Betriebssystem verweisen. Ein-
[12] http://plextor-sup.quicksupportlink.com/callform/
Builder [20]. zige Ausnahme ist Plextor, die zwar selbst keine pages/callform.asp?c_id=12
Linux-Unterstützung anbieten, aber zumindest
Die Erstellung solch einer Live-CD ist aber sicher [13] http://www.plextor.be/technicalservices/
auf ein Community-Projekt verweisen. Die Ant-
technology/linux.asp?choice=Linux%20support
nicht Teil dieses Artikels, eine gültige Windows- wort des Samsung-Mitarbeiters war auch vielver-
Lizenz samt CD wird hierfür leider auch voraus- [14] http://www.plextor.be/technicalservices/
sprechend, da die Möglichkeiten einer Windows-
gesetzt, sodass sich der Nutzen für reine Linux- downloads/firmw_prog.asp?choice=Upgrade%
Live-CD aufgezeigt wurden. Leider benötigt man
Nutzer in Grenzen hält. 20programs
dazu aber eine Windows-CD mit gültiger Lizenz.
[15] ftp://ftp.berlios.de/pub/cdrecord/
Sony NEC Wer seinen DVD-Brenner bzw. fast jedes opti- [16] http://support.samsung.de/common/contactus_
Sony NEC setzt stark auf Flash und JavaScript. sche Laufwerk mit einer neuen Firmware aktua- formular.aspx?SITE_ID=6&PROD_ID=964
Von der Hauptseite [21] gelangt man über „Sup- lisieren möchte, ist in den meisten Fällen auf [17] http://nu2german.de/pebuilder319.shtml
port » Kontakt“ auf die Kontaktseite und das Windows angewiesen, denn selbst eine DOS- [18] http://vistape.net/
Online-Kontaktformular [22]. Aufgrund ähnlicher Diskette bzw. -CD hilft in keinem Fall weiter. [19] http://www.heise.de/ct/projekte/pebuilder/
Probleme wie bei Samsung oben konnte die An- Zumindest hat keiner der Hersteller diese Op- [20] http://www.heise.de/ct/projekte/pebuilder/
frage erst am 7. Februar getätigt werden. tion vorgeschlagen. Man würde sich hier definitiv pebuilder2008.shtml
mehr Alternativen wünschen.
Die Antwort kam am abends am 13. Februar mit [21] http://www.sony.de/
dem Hinweis, dass Sony Deutschland keine Infor- L INKS [22] http://www.sony.de/article/id/1069862791363
mationen zu den Sony-Nec-Optiarc-Geräten be- [23] http://www.sony-optiarc.eu/de/contact.html
[1] http://forum.ubuntuusers.de/topic/gibt-es-dvd-
sitzt. Ich solle es doch bei den Kollegen versu- brenner-die-nicht-windows-fuer-ei/
chen [23]. Autoreninformation
[2] http://www.asus.de
Das habe ich am Morgen des 17. Februar auch [3] http://vip.asus.com/eservice/techserv.aspx? Dominik Wagenführ interessiert
getan. Ob die Nachricht abgeschickt wurde, ist SLanguage=de-de sich sehr für die Linux-Unterstützung
ungewiss, da nach dem Klick auf „Senden“ kei- [4] http://www.asus.de/legal.aspx diverser Hardwaregeräte und wollte
nerlei Bestätigung gekommen ist und nur das [5] http://www.liteonit.eu/de/ mit diesem Test einigen Herstellern
komplette Formular geleert wurde. [6] http://de.lge.com/ auf den Zahn fühlen.
[7] http://de.lge.com/support/contact_gcsc.jsp
wischen dem 3. und 8. März war Han- Internet. Letzteres wurde mit dem Schlagwort Natürlich war auch Ubuntu mit einem eige-
Rezension: Coding for Fun – IT-Geschichte zum Nachprogrammieren von Raoul Falk
olmeringer möchte, dass der Leser sches Wissen. Hier wird auch die eigentliche Ziel- BASIC und Assembler
der kaum angerissen wird. Es sind also Vorkennt- und weitere Schandtaten begehen. Auf alle Fälle hand eines kleinen Java-Programms vorgestellt
nisse oder die Bereitschaft, sich über das Buch ein sehr unterhaltsames Spiel, das trotz der ein- werden, welches ein einfaches Fraktal mit er-
hinaus mit diesem Thema zu beschäftigen, nötig. deutigen Ziele des Protagonisten pädagogisch staunlich wenig Code erzeugt. Könner werden
wertvoll ist, da man beina- auch eingeladen, ihre eigenen Visualisierungen
he zwangsläufig langjäh- mit Java zu realisieren. Was zunächst wie eine
rige virtuelle Haftstrafen Spielerei wirkt, ist in der Realität die Grundlage
antreten muss. Für Gra- dafür, naturgegebene Strukturen in Programmen
fikinteressierte ist dem nachzubilden und aus der heutigen Informatik
Buch auch eine Anleitung nicht mehr wegzudenken.
für das Programm Blen-
der sowie ein Programm- Betriebssysteme – Vergessene Legen-
beispiel in Java3D beige- den
geben.
Beim Thema Betriebssysteme wird etwas wei-
ter ausgeholt. Mit einem flüssig zu lesenden
Das Apfelmänn- Abriss über die Geschichte erhält man Einbli-
chen und das cke in längst vergessene Kapitel, insbesondere
Chaos der GUI-Historie. Oberflächen wie Smalltalk 80,
Besondere Erwähnung GEM (zum Ausprobieren auf der DVD mitgelie-
gebührt dem Abschnitt fert) oder das Echtzeitsystem QNX werden vor-
über Fraktale. Neben der gestellt. Über den C64 bis zu modernen Linux-
durchaus lesenswerten Distributionen (als Beispiel wird Ubuntu vorge-
Der Debugger AFD in Aktion.
Erklärung dieser Muster stellt) erhält man einen Überblick über die Ent-
Spiele und bunte Landschaften mit Selbstähnlichkeiten und Skaleninvarianzen, wicklung von Betriebssystemen und der Pro-
wird auf das Programm Xaos verwiesen, wel- grammiersprachen, die mit den Systemen ein-
Selbstverständlich kommen die von so vielen
hergingen. Besonders anschaulich ist ein in Ja-
Menschen geliebten Computerspiele nicht zu ches man als Mathematik- und/oder Kunstfreund
va implementierter Netzgraph, der die Verwandt-
kurz. Der erste Halt ist der Klassiker Pong. Wäh- nicht auslassen sollte. Xaos kann über das Pa-
schaftsbeziehungen zwischen den Prorgammier-
rend die Urfassung noch in Hardware realisiert ket xaos installiert werden, alternativ kann man
sprachen verdeutlicht.
war, wird der komplette Quellcode als Java- auch die neueste Version kostenfrei direkt von
Projekt für die Entwicklungsumgebung Eclipse der Projektseite [1] herunterladen. Es bietet sehr
zur Verfügung gestellt. Etwas verruchter wird es aufschlussreiche Präsentationen und eine ver-
KI – Ist Skynet möglich?
beim Spiel „Hack The Game V. 1.21“. In die- blüffende Zoom-Funktion für die angezeigten Der Traum vom denkenden Rechner ist noch äl-
sem kann man seine kriminelle Energie entladen Fraktale. Dies schafft einen nahtlosen Übergang ter als die Informatik. Dieses Kapitel bringt dem
und Daten von fremden Hosts stehlen, löschen zu rekursiven Programmen, die beispielhaft an- Leser die unterschiedlichen Ansätze näher, mit
denen man versucht, schwache oder gar starke Programmieren lernen wenn sich Leser finden würden, die das Buch als
künstliche Intelligenzen zu erzeugen. Die Simu- Der letzte Abschnitt ist eine Einführung in die Sammlung von Anregungen verstehen.“
lation von neuronalen Netzen wird unter ande- BASIC-Programmierung mit Hilfe der unfreien
rem anhand des Programms MemBrain erklärt. Erfahrenen Linux-Benutzern könnte noch negativ
Entwicklungsumgebung VB Express von Micro-
Mit diesem kann man beispielsweise einem Sys- auffallen, dass von den 573 Seiten stolze 182 auf
soft. Anhand eines Ameisenvolkes kann man
tem aus nur sechs Neuronen Wissen antrainie- den Anhang fallen, der Anleitungen zur Installa-
spielerisch mit der Umgebung und der Sprache
ren, welches auf Abfrage auch korrekt wiederge- tion von VirtualBox, Xen, FreeDOS, Ubuntu, Java
vertraut werden. Praktischerweise liegt das um-
geben wird. Mit einer solchen assoziativen Spei- und weiterer Software enthält. Für weitere Infor-
fassende Buch „Visual Basic 2005“ als HTML-
cherung erhält man sogar Antworten auf Fragen, mationen und Leseproben bietet sich ein Besuch
Version bei, sodass man sich tiefgründig mit der
die dem System nie explizit beigebracht wurden. der Seite des Verlages [2] an.
Sprache auseinandersetzen kann.
Die Antwort lässt sich nicht vorhersehen. Damit
funktioniert MemBrain analog zum menschlichen Buchinformationen
Fazit Titel Coding for Fun – IT-Geschichte zum
Verstand: Wissen wir etwas nicht, so versuchen
Wolmeringer überzeugt mit einer guten Auswahl Nachprogrammieren
wir Schlüsse zu ziehen. Hier ist also sehr viel
seiner Beispiele und mit einem sehr flüssigen Autor Gottfried Wolmeringer
Spielraum für weiterführende Experimente mit
Schreibstil. Man lässt sich gern mit auf die Rei- Verlag Galileo Computing, 2008
diesem Programm. Eine andere Herangehens-
se nehmen und möchte alles ausprobieren und Umfang 573 Seiten, Broschiert mit DVD
weise bieten die vorgestellten Programmierspra-
verstehen. Dies wird aber leider nicht jedem ge- ISBN 978-3-8362-1116-1
chen Smalltalk, Lisp und Prolog. Letztere gibt
lingen. Die Materie ist durchaus anspruchsvoll Preis 24,90 Euro
beispielsweise die Möglichkeit, eine Wissensba-
und nicht immer einsteigerfreundlich. Für den
sis mit allgemein gehaltenen Aussagen zu schrei-
ambitionierten Einsteiger, der bereits wenigstens L INKS
ben, anhand derer dann konkrete Fragen an das
eine moderne Programmiersprache in Grundzü-
Programm gestellt werden können. Hierbei er- [1] http://sourceforge.net/projects/xaos
gen verstanden hat, bieten sich Herausforderun-
geben sich allerdings keine unvorhersehbaren [2] http://www.galileocomputing.de/katalog/buecher/
gen, die ihn stets fordern. Experten der Pro-
Antworten, da z. B. durch Rekursion oder Back- titel/gp/titelID-1628
grammierung finden zumindest spannende Bei-
tracking so lange Aussagen abgeleitet werden,
spiele in ungewohnten Gefilden, die ihnen viel-
bis eine verlässliche Antwort gefunden ist oder Autoreninformation
leicht bis dato verborgen blieben. Anfänger kön-
bis die Unmöglichkeit einer verlässlichen Antwort
nen angesichts der Fülle an thematisch völlig un- Raoul Falk ist Korrektor für
bewiesen ist. Anschaulich dargestellt: Wenn ich
terschiedlichen Kapiteln leicht den Überblick ver- freiesMagazin, interessiert sich
nur weiß, dass die Straße immer glatt ist, wenn
lieren. Auch die Tatsache, dass die Kapitel nie er- für Programmiertechniken und schaut
sie kälter als 0 °C ist, kann ich stets bejahen,
schöpfende Ausführungen enthalten, tragen hier- Entwicklungsumgebungen gerne
dass die Straße glatt ist, wenn es friert. Anderer-
zu bei. Man darf aber nicht vergessen, dass das unter die Haube.
seits kann ich nicht mit Sicherheit sagen ob es
Buch nicht den Anspruch hat, ein Lehrbuch zu
friert, nur weil die Straße glatt ist.
sein. Dazu treffend im Vorwort: „Es wäre schön,
freiesMagazin-Programmierwettbewerb
ie Auswertung der freiesMagazin- den sich verschiedenfarbige Steine und Bomben. Beim „Einlösen“ der Steine verschwinden diese
Wenn dieser Wert auf 0 gesunken ist, werden Beispiel Die drei lilafarbenen Steine werden seinem Kon-
die Lebenspunkte abgezogen. Erreichen diese 0, Um das Spielprinzip besser zu verdeutlichen, soll to gut geschrieben und verschwinden. Alle dar-
hat der Spieler verloren. Durch das Aneinander- ein Beispielzug durchgeführt werden. Die Aus- überliegenden Steine rutschen ein Feld nach un-
reihen blauer Steine kann man den Schild aber gangsbasis ist dabei das folgende Spielfeld: ten, was oben eine Lücke entstehen lässt, wel-
bis zur Maximalzahl 15 wieder aufladen. che durch neue Steine aufgefüllt wird:
(9,9)
Dazu hat jeder Spieler ein Konto für rote, gelbe
3 5 1 3 5 1
und grüne Steine. Ab einem bestimmten Wert
(Standard: 15) werden diese automatisch in geg-
nerischen Schaden umgesetzt und verschwin-
den wieder vom Konto.
1 1
In der Regel sind die zwei Spieler immer abwech-
selnd an der Reihe. Sammelt ein Spieler aber
eine bestimmte Anzahl lilafarbener Steine (Stan-
dard: 15), ist er erneut am Zug. 5 5 2 2
Beste Taktik 3 5 5 3
Zu entscheiden, was die beste Taktik ist, ist Ih-
3 4 4
re Aufgabe. Die Referenzimplementierung (siehe
1 1
unten) stellt eine sehr simple KI zur Verfügung.
Diese tauscht einfach so lange Steine, bis gleich- (0,0)
3 1 1
artige nebeneinander liegen und sieht das als
günstigen bzw. gültigen Zug an. Dieses Vorge- Die Zählung der Spielfeldindizes beginnt typisch Im nächsten Zug böte es sich für den zweiten
hen ist natürlich sehr dumm. für C++ (Referenzimplementierung) bei 0, so- Spieler an, Feld (2,2) mit (3,2) zu tauschen, da-
dass die x- und y-Werte von 0 bis 9 laufen. mit der erste Spieler 10 Punkte (5 + 4 + 1) Scha-
Ein erster Fortschritt wäre es, wenn aus al- den erleidet.
len gültigen Tauschmöglichkeiten die ausgewählt Der Spieler, der an der Reihe ist, hat verschie-
wird, die dem Spieler den meisten Gewinn be- dene Möglichkeiten, einen gültigen Zug durch- Referenzimplementierung
ziehungsweise dem Gegenspieler den meisten zuführen. Er kann z. B. Feld (0,8) mit (0,9) tau- Damit niemand denkt, der Sieger würde später
Schaden bringt. Oder anders: Vorrangig Bomben schen, was drei blaue Steine horizontal zusam- im Geheimen von uns gekürt, wird die Spielme-
zu sammeln, ist meist sehr sinnvoll. ;) menfügt, oder (6,7) mit (5,7), was drei rote Steine chanik unter der GPLv3 [3] auf unserer Webseite
vertikal aneinanderreiht. Die Referenz-KI tauscht veröffentlicht (per FTP [4] oder per HTTP [5]). Die
Daneben gibt es noch andere taktische Möglich- aber die Felder (1,0) mit (1,1), um drei lilafarbene Implementierung geschah dabei mittels C++ und
keiten, die Sie aber selbst ausknobeln dürfen. Steine zusammenzufügen. befindet sich im Verzeichnis fm-game.
Daneben wurde auch, wie oben bereits erwähnt, gegeneinander antreten. In einem Programm- falls mit einer kleinen Anleitung zum Übersetzen),
eine einfache KI programmiert, die sich im Ord- durchlauf gibt es zwei Partien mit dem gleichen und nicht nur eine Binärdatei eingereicht wird.
ner fm-ai befindet („ai“ steht für den englischen Startspielfeld. Zuerst hat KI 1 den ersten Zug. Der Quellcode muss dabei einer freien Lizenz [6]
Ausdruck „artificial intelligence“). Nachdem das Ergebnis der ersten Partie auf unterliegen.
dem Bildschirm ausgeben wird, muss der Benut-
Möchte man das Spiel und die KI kompilieren, be- zer eine Taste drücken. Dann startet die zweite Hinweis: Wer möchte, kann auch gerne den
nötigt man einen C++-Compiler, den man am ein- Partie, wobei KI 2 den ersten Zug hat. Code der Referenz-KI benutzen und erweitern.
fachsten über das Paket build-essential instal- Damit fällt der Einstieg vielleicht etwas leichter.
liert. Danach kann man aus dem entpackten Ver- Hinweis: Startet man das Spiel mit der gleichen
zeichnis wettbewerb einfach ein KI für KI 1 und KI 2, sollte sich bei einem deter- Welche Sprache (also Deutsch oder Englisch)
ministischem Algorithmus, d. h. keine Zufallsent- im Programm selbst für Kommentare und Be-
make scheidungen, ein symmetrisches Ergebnis erge- zeichnungen benutzt wird, ist dem Programmie-
ben. Sprich, wenn Spieler 1 im ersten Spiel ge- rer überlassen. Kommentare sollte es aber ge-
aufrufen, was alle C++-Dateien in Binärcode um- ben. ;)
winnt, muss Spieler 2 im zweiten Spiel gewinnen
wandelt.
und umgekehrt.
Schnittstelle
Wettbewerb starten Um eine einfache Schnittstelle zu gewährleisten,
Wer sich selbst ein Spielfeld generieren möchte,
Um einen neuen Wettbewerb zu starten, müssen werden die Daten zwischen Spielmechanik und
kann dies über
zwei KIs fm-ai1.bin und fm-ai2.bin im Ord- KI über Dateien ausgetauscht. Die Spielmecha-
ner (gegebenenfalls auch nur als Link) existie- ./fm-game.bin DATEINAME create nik schreibt dabei die folgenden Dateien:
ren. Dazu benötigt man noch ein vorberechnetes
Spielfeld (hier: beispielfeld.dat). ã player.dat enthält die Daten des Spielers.
erzeugen und dann das Spiel per
In jeder Zeile steht je ein Wert mit der folgen-
Hinweis: Das Beispiel umfasst dabei ein Spiel- ./fm-game.bin DATEINAME den Bedeutung:
feld der Größe 10x1000, relevant, also spielbar, – Lebenspunkte
sind die letzten 10 Zeilen. Die Größe von 1000 mit diesem Feld starten. – Schild
Zeilen sorgt aber dafür, dass das Spielfeld in je- – rote Punkte
dem Spieldurchgang nicht mit zufälligen Steinen Teilnahmebedingungen – gelbe Punkte
von oben aufgefüllt wird, sondern vorberechnete Sprache
Steine benutzt werden. So hat jede KI die glei- – grüne Punkte
Welche Programmier- oder Skriptsprache für die
chen Chancen. – lilafarbene Punkte
KI benutzt wird, ist egal. Das Skript bzw. das Pro-
gramm sollte sich aber relativ einfach auf einem ã opponent.dat enthält die Daten des Geg-
Die zwei KIs lässt man per ners, auf die man gerne zugreifen kann. Der
„normalen“ Linux-System (genauer Ubuntu 8.10)
ausführen bzw. kompilieren lassen. Es wird zwin- Dateinhalt ist dabei identisch zu oben.
./fm-game.bin beispielfeld.dat
gend vorausgesetzt, dass der Code (gegebenen-
ã gamefield.dat enthält das 10x10 Spielfeld, das Feld (1,0) mit dem Feld (1,1) tauschen. Fel- tet werden, gibt es vielleicht auch eine Verlänge-
wobei nur die ersten hundert Zeichen (der Art der müssen dabei immer benachbart sein und rung bis zum 24. Mai 2009. Der Sieger wird dann
„R“, „Y“, „G“, „B“, „L“, „1“ - „5“) relevant sind. auch der Index 9 sollte nicht überschritten wer- in der Juniausgabe von freiesMagazin mitgeteilt.
(Natürlich sollten in der Datei exakt 100 Zei- den. Sollte also eine Sprache benutzt werden,
chen drinstehen. ;)) Der erste Wert (linke obe- die bei 1 anfängt zu zählen, sollte beim Schrei- Wie oben erwähnt gibt es als Ansporn auch ei-
re Ecke) hat dabei den Index (0,9), der zwei- ben der Datei daran gedacht werden. ne Kleinigkeit zu gewinnen: einen Gutschein im
te (1,9) etc. bis hin zum letzten Wert (untere Wert von 25 Euro für den Online-Handel Bookzil-
rechte Ecke) mit dem Index (9,0). Laufzeit la.de [7]. Es wurde sich für diesen Händler ent-
Die Laufzeit der KI sollte eine Minute pro Zug schieden, da durch den Verkauf der Bücher 5 %
Das oben dargestellte erste Beispielfeld würde nicht überschreiten. Da das Spiel aber sehr ein- des Erlöses an die Free Software Foundation Eu-
daher im Textformat so aussehen: fach gehalten ist und durch die „Zufallskompo- rope [8] gespendet werden. Diese Unterstützung
R B B 3 G G 5 B 1 G nente“ nicht unendlich weit in die Zukunft berech- Freier Software wollen wir natürlich auch unter-
B G Y Y L Y L G R L net werden kann, sollte die Laufzeit eigentlich ge- stützen.
L B L R L 1 R G G B ring ausfallen.
Wir wünschen allen Teilnehmern viel Erfolg und
G L G L R R Y B R B
Sonstiges freuen uns über zahlreiche Programme, die dann
G Y R Y B R G L B G
Bei Fragen zur Implementierung (also nicht zur zum Duell gegeneinander antreten.
B B Y Y G B R Y B Y
Umsetzung, sondern nur zu den Randbedingun-
5 R 5 B R 2 R Y G R L INKS
gen), steht die freiesMagazin-Redaktion unter
Y G Y G B R L 3 R B
redaktion@freiesmagazin.de natürlich gerne zur [1] http://de.wikipedia.org/wiki/Künstliche_Intelligenz
3 L R 4 R G B R G B
Verfügung. [2] http://www.puzzle-quest.com/
L B L 1 L 1 B G R L
[3] http://www.gnu.org/licenses/gpl.html
Ein Hinweis noch: Es bringt nichts, seine KI auf
Im Normalfall sollte das KI-Programm 0 als Wert [4] ftp://ftp.freiesmagazin.de/2009/freiesMagazin-
die Datei beispielfeld.dat hin zu optimieren,
zurückgeben, im Fehlerfall irgendetwas ungleich 2009-04-wettbewerb.tar.gz
da für den späteren Wettbewerb 100 neue Spiel-
0. Zusätzlich muss das Programm eine Datei [5] http://freiesmagazin.de/ftp/2009/freiesMagazin-
felder berechnet werden. :)
result.dat mit den Daten der zu tauschenden 2009-04-wettbewerb.tar.gz
Felder enthalten: Wichtig: Jeder Teilnehmer darf nur ein Pro- [6] http://www.opensource.org/licenses/alphabeti
gramm einreichen. Natürlich darf er aber seine KI cal
FELD_1_X FELD_1_Y FELD_2_X FELD_2_Y
bis zum Stichtag gerne mehrfach nachbessern. [7] http://www.bookzilla.de/
So würde zum Beispiel der Inhalt [8] http://www.fsfeurope.org/
Siegerehrung
1 0 1 1 Der Stichtag für Wettbewerbsende ist der 10. Mai
2009. Sollte die Resonanz bis dahin extrem posi-
tiv ausfallen und wir mit Programmen überschüt-
Leserbriefe
Für Leserbriefe steht unsere E-Mailadresse freiesMagazin: Vielen Dank für den Vorschlag. verschwimmen. Zusätzlich haben ausgedruckte
redaktion@freiesmagazin.de zur Verfügung – wir Das Wiki klingt definitiv interessant. Vor allem für Artikel dadurch eine höhere Qualität.
freuen uns über Lob, Kritik und Anregungen zum Mitarbeiter, die mit SVN gar nicht umgehen kön- Sollte es in einem PDF-Viewer wider Er-
Magazin. nen, ist dies definitiv eine Alternative, die wir im warten Probleme mit den neuen Grafi-
Hinterkopf behalten werden. Da wir die Idee der ken geben, schreiben Sie uns bitte an
An dieser Stelle möchten wir alle Leser ausdrücklich
kollaborativen Arbeit für sehr sinnvoll halten, ver- redaktion@freiesmagazin.de, sodass wir der Sa-
ermuntern, uns auch zu schreiben, was nicht so gut
öffentlichen wir Ihren Tipp auch im Magazin. che nachgehen können.
gefällt. Wir bekommen sehr viel Lob (was uns natür-
lich freut), aber vor allem durch Kritik und neue Ideen Qualität der Grafiken PDF-Versand per E-Mail
können wir uns verbessern. Mir ist ins Auge gefallen, dass freiesMagazin als Besteht die Möglichkeit, dass man monatlich die
einziges [Magazin] in LATEX erstellt wird. [. . . ] Mir Ausgabe als PDF zugesandt bekommt? Und zu
Leserbriefe und Anmerkungen ist aufgefallen, dass die runden Bögen um die welchem Datum erscheint denn in der Regel die
LATEX-Code gemeinsam bearbeiten orangen Autoreninformationskästchen als png- neue Ausgabe? Torsten Metz
Ich lese, Ihr sucht Mitarbeiter, die LATEX-Code Bild (also Rastergrafik) eingebunden sind. [. . . ]
bearbeiten, der in einem SVN-Repository liegt. Ich verstehe nicht, wie es dazu kommt, dass freiesMagazin: Der Aufwand eines Newsletters
Vielleicht interessiert Euch Latexki [1]. Das ist Sie möglichst nur ein Grafikformat verwenden ist, vor allem was die Datenschutzrichtlinien in
ein Wiki für LATEX-Dokumente und wird seit eini- wollen? Ich hatte nie ein Problem mit: PDF, wo Bezug auf die Speicherung der E-Mailadresse
gen Jahren benutzt, um gemeinsam Vorlesungs- mit wenig Aufwand möglich, sonst halt PNG. angeht, für eine kleine Redaktion wie unsere ein-
mitschriebe zu koordinieren [2]. Die Dateien lie- Dominik Kreutzmann fach zu hoch. Wenn Sie den RSS-Feed aber
gen in einem SVN-Repository und können auch abonnieren, sind sowohl PDF- als auch HTML-
per SVN bearbeitet werden (für reguläre Mitarbei- freiesMagazin: Vielen Dank für Ihre Anmerkung. Version dort direkt verlinkt und können durch
ter). Für Leute, die SVN scheuen und kein LATEX In der Tat war es für uns bisher einfacher, nur einen einzigen Klick aufgerufen werden. Eine
selbst installieren wollen, gibt es ein Webinter- ein Grafikformat zu verwenden, da wir so kei- neue Ausgabe von freiesMagazin erscheint im-
face. ne Unterscheidung zwischen PDF-Magazin und mer am ersten Sonntag in einem Monat.
Das Wiki macht eigentlich nichts anderes als die HTML-Ausgabe machen mussten. Da die sta-
Dokumente auf dem Server mit pdflatex zu tischen Inhalte wie Autorenkästchen, Lupe etc. Korrekturen und Fehler
bauen – [eigene] Makros sollten daher kein Pro- aber sowieso nicht in der HTML-Version zu fin- World of Goo – Die Bälle sind los,
blem sein. Und man sieht das Dokument nach den sind, haben wir diese Grafiken wie von Ihnen freiesMagazin 03/2009 [3]
jeder Änderung per Web-Interface auch wirklich vorgeschlagen, auf PDF (also Vektorgrafiken) Ein paar Leser fanden es nicht gut, dass im
neu generiert als PDF. Das Bearbeiten passiert umgestellt. „World of Goo“-Artikel nirgends steht, dass es
dabei allerdings im LATEX-Code. Für alle Leser bedeutet das, dass die statischen sich nicht um ein Open-Source-Spiel handelt,
Joachim Breitner Grafiken nun wesentlich deutlicher und schär- sondern die Quellen verschlossen sind. In der Tat
fer erscheinen und auch beim Zoomen nicht
wurde versäumt, dieses Manko explizit zu erwäh- Da viele Ankündigungen (Interviews, Artikel- system, in dem es fast egal ist, wie die Rechte
nen, was hiermit nachgeholt wird. wunschliste, Programmierwettbewerb etc.) aber sitzen, da eben nur eine Person daran arbeitet.
exklusiv im freiesMagazin-Feed zu finden sind, Selbst auf privaten Mehrplatzsystemen würden
An der Stelle betonen wir aber auch noch einmal, geben wir vielleicht doch einen Anreiz, den Feed sich andere Nutzer nicht unbedingt daran stören,
dass in freiesMagazin Themen zu Linux, Open zu abonnieren. dass der Standardnutzer mit der ID 1000 (der
Source und Freier Software zu finden sind. Dies meist auch das Root-Passwort besitzt) auf die
ist kein einschließendes Und! Wir werden auch in Der zweite Fehler ist uns selbst aufgefallen. Wir Dateien zugreifen kann.
Zukunft über proprietäre oder kommerzielle Pro- haben für jedes Ergebnis als Anzahl der Teilneh-
jekte berichten, wenn diese unter Linux aus der mer die Summe aller Antworten genommen. Da- Im Normalfall sollten die Besitzrechte von Datei-
Menge der Freien Software herausragen. durch wurden bei den Fragen, bei denen man en, die in einem globalen Ordner liegen, damit
mehrere Antworten (also auch keine) ankreuzen alle Benutzer darauf zugreifen können, immer an
LXDE im Test, freiesMagazin 03/2009 [3] konnte, die Teilnehmer, die nichts angekreuzt ha- root übergeben werden.
„Doch wie schafft Xfce es, einen derart schnel- ben, vernachlässigt. Hier sind wir fälschlicherwei-
len Desktop zu bauen, der ein aktuelles Linux se davon ausgegangen, dass diese die Frage L INKS
endlich mal so schnell werden lässt wie ein gar nicht bearbeitet haben. Die Folge davon ist [1] http://latexki.nomeata.de/
Windows XP?“ glücklicherweise nicht schlimm. Alle Prozentzah- [2] http://mitschriebwiki.nomeata.de/
len liegen so zwar ein klein wenig (wenige Pro- [3] http://www.freiesmagazin.de/freiesMagazin-2009-
Natürlich sollte das LXDE heißen, da sich im Ar-
zentpunkte) zu hoch, die Reihenfolge der Platzie- 03
tikel vorher über die Größe von Xfce beschwert
rung ändert sich aber nicht. So sind auch unsere
wurde.
Schlussfolgerungen der Ergebnisse nach wie vor
Auswertung der Umfrage, freiesMagazin korrekt.
03/2009 [3]
Songbird installieren, freiesMagazin
Zwei Korrekturen müssen wir zur Auswertung der
03/2009 [3]
freiesMagazin-Umfrage nachreichen.
Marian Sigler merkte an, dass die Übergabe der
Zum einen haben mehrere Leser angemerkt, Besitzrechte an den Benutzer root zwingend not-
dass unser Schluss für die geringe Nutzung des wendig sei, wenn man Songbird für alle Benut-
RSS-Feeds von freiesMagazin falsch ist. Da die zer installieren will. Wenn man die Besitzrechte
Ankündigung einer neuen Ausgabe auch auf an- ließe, könnte der Benutzer 1000 in den Dateien
deren Portalen wie Pro-Linux oder Ikhaya von rumschreiben und damit anderen Benutzern jeg-
ubuntuusers.de veröffentlicht wird, landet die An- lichen Code unterschieben. „Stove Ownership“ © by Randall Munroe
kündigung auch in deren RSS-Feeds. Aus dem (CC-BY-NC-2.5), http://xkcd.com/418
Natürlich sind die Anmerkungen korrekt, es
Grund sehen es viele Leser als unnötig an, auch
kommt aber auch auf das System des Benutzers Die Redaktion behält sich vor, Leserbriefe gegebe-
noch den freiesMagazin-Feed zu abonnieren.
an. Die Mehrheit der Nutzer hat ein Einzelplatz- nenfalls zu kürzen.
Veranstaltungskalender
Messen
Veranstaltung Ort Datum Eintritt Link
Linuxwochen Krems 15.04.09 frei http://linuxwochen.at
Linuxwochen Wien 16.04.-18.04.09 - http://linuxwochen.at
Linuxwochen Linz 23.04.-25.04.09 - http://linuxwochen.at
Skolelinux Arbeitstreffen Gütersloh 24.04.-26.04.09 frei http://wiki.skolelinux.de/Roadmap2009
Grazer Linux Tage Graz 25.04.09 frei http://www.linuxtage.at
Schwabacher Linuxtage Schwabach 25.04.-26.04.09 frei http://lusc.de
Sie kennen eine Linux-Messe, welche noch nicht auf der Liste zu finden ist? Dann schreiben Sie eine E-Mail mit den Informationen zu Datum und Ort an
rfischer@freiesmagazin.de.
Konventionen
An einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung. Diese sind hier zusammengefasst:
$: Shell-Prompt
#: Prompt einer Root-Shell – Ubuntu-Nutzer können hier auch einfach in einer normalen Shell ein „sudo“ vor die Befehle setzen.
y: Kennzeichnet einen aus satztechnischen Gründen eingefügten Zeilenumbruch, der nicht eingegeben werden soll.
~: Abkürzung für das eigene Benutzerverzeichnis /home/BENUTZERNAME
: Kennzeichnet einen Link, der auf eine englischsprachige Seite führt.
: Öffnet eine höher aufgelöste Version der Abbildung in einem Browserfenster.
Vorschau
freiesMagazin erscheint immer am ersten Sonntag eines Monats. Die Mai-Ausgabe wird voraussichtlich am 3. Mai unter anderem mit folgenden Themen
veröffentlicht:
ã Virtualisierung mit Proxmox VE
ã Debian GNU/Linux 5.0 „Lenny“ – Der Zustand der Distribution
ã Kennwortgedächtnis auslagern mit KeePassX
Es kann leider vorkommen, dass wir aus internen Gründen angekündigte Artikel verschieben müssen. Wir bitten dafür um Verständnis.
Dieses Magazin wurde mit LATEX erstellt. Mit vollem Namen gekennzeichnete Beiträge geben nicht notwendigerweise die Meinung der Redaktion wieder. Wenn Sie
freiesMagazin ausdrucken möchten, dann denken Sie bitte an die Umwelt und drucken Sie nur im Notfall. Die Bäume werden es Ihnen danken. ;-)
Soweit nicht anders angegeben, stehen alle Artikel und Beiträge in freiesMagazin unter der GNU-Lizenz für freie Dokumentation (FDL). Das Copyright liegt
beim jeweiligen Autor. freiesMagazin unterliegt als Gesamtwerk ebenso der GNU-Lizenz für freie Dokumentation (FDL) mit Ausnahme von Beiträgen, die unter
einer anderen Lizenz hierin veröffentlicht werden. Das Copyright liegt bei Eva Drud. Es wird die Erlaubnis gewährt, das Werk/die Werke (ohne unveränderliche
Abschnitte, ohne vordere und ohne hintere Umschlagtexte) unter den Bestimmungen der GNU Free Documentation License, Version 1.2 oder jeder späteren
Version, veröffentlicht von der Free Software Foundation, zu kopieren, zu verteilen und/oder zu modifizieren. Die xkcd-Comics stehen separat unter der Creative
Commons-Lizenz CC-BY-NC 2.5. Das Copyright liegt bei Randall Munroe.